K8S关于yaml几种类型。

1、 Endpoints

Endpoints可以把外部的链接到k8s系统中,如下
将一个mysql连接到k8s中。

kind: Endpoints
apiVersion: v1
metadata:
  name: mysql-production
  namespace: test
subsets:
  - addresses:
      - ip: 10.0.0.82
    ports:
      - port: 3306

10.0.0.xx:3306为外部mysql。
namespace: test为命名空间

2、 service

部署一个内部虚拟IP,其他deployment可以链接。

    apiVersion: v1
    kind: Service
    metadata:
      name: mysql-production
      namespace: test
    spec:
      ports:
        - port: 3306
 port: 3306为内部IP
 name: mysql-production为service名称
  此时mysql-production.test即为mysql的虚拟IP,其他可配置该字段连接到mysql,例如

    "java","-Dspring.datasource.url=jdbc:mysql://mysql-production.test:3306/config", "-jar", "xxx.jar"

spec.selector : Selector配置,将选择具有指定label标签的Pod作为管理范围
NodePort: 使用宿主机的端口,使能够访问各Node的外部客户端通过Node的IP地址和端口号就能访问服务;
3、deployment
部署一个Pod,内部只能链接service,无法互相链接
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: xxxx
namespace: test
spec:
replicas: 1
selector:
matchLabels:
app: xxxx
template:
metadata:
labels:
app: xxxx
spec:
containers:
- name: xxxx
image: xx/xx/xx:xxx
ports:
- containerPort: 8080

你可能感兴趣的:(k8s)