K8S关于yaml几种类型。
https://blog.csdn.net/zhou164200/article/details/845907201、 EndpointsEndpoints可以把外部的链接到k8s系统中,如下,将一个mysql连接到k8s中。kind: EndpointsapiVersion: v1metadata:name: mysql-productionnamespace: testsubsets:- ad
·
https://blog.csdn.net/zhou164200/article/details/84590720
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/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: nginx-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
labels: #定义资源标签
app: nginx
spec:
replicas: 2 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: nginx #定义模板名称
template: #定义模板
metadata:
labels:
app: nginx
spec:
containers: #定义容器信息
- name: nginx1 #容器名,与标签名要相同
image: nginx:1.14.2 #容器使用的镜像以及版本
ports:
- containerPort: 80 #定义容器的对外接口
更多推荐
已为社区贡献2条内容
所有评论(0)