k8s 使用 yaml 进行服务编排
K8s 是一个容器编排引擎,使用 YAML 文件编排要部署应用,因此在学习之前,应该了解 YAML 语法格式。
·
K8s 是一个容器编排引擎,使用 YAML 文件编排要部署应用,因此在学习之前,应该了解 YAML 语法格式:
- 缩进表示层级关系
- 不支持制表符 “tab” 缩进,使用空格缩进
- 通常开头缩进 2 个空格
- 字符后缩进 1 个空格,如冒号、逗号等
- “---” 表示 YAML 格式,一个文件的开始
- “#” 注释
nginx-deploy.yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: chiyi-nginx
spec:
replicas: 3
selector:
matchLabels:
app: chiyi-nginx
template:
metadata:
labels:
app: chiyi-nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
说明:
- apiVersion:API 版本
- kind:资源类型
- metadata:资源元数据
- spec:资源规格
- replicas:副本(实例)数量
- selector:标签选择器,与下面 metadata.labels 保持一致
- template:Pod 模板
- metadata:Pod 元数据
- spec:Pod 规格
- containers:容器配置
nginx-service.yaml 文件
apiVersion: v1
kind: Service
metadata:
name: chiyi-nginx
spec:
selector:
app: chiyi-nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
说明:
- port:Service 端口,通过 ClusterIP 访问用
- targetPort:镜像内服务端口,例如 nginx 镜像是 80
- selector:标签选择器,与 Deployment 中标签保持一致
- type:Service 类型
获取 deployment 版本号
kubectl api-resources | grep deployment
部署或更新 deployment
kubectl apply -f nginx-deploy.yaml
检查 deployment
kubectl get deploy
查看 Deployment 上线状态
kubectl rollout status deployment/nginx-deployment
部署或更新 service
kubectl apply -f nginx-service.yaml
检查 service
kubectl get service
查看负载均衡
kubectl get endpoints
删除
kubectl delete -f nginx-deployment.yaml
中文文档
https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
https://kubernetes.io/zh/docs/concepts/services-networking/service/
效果
更多推荐
已为社区贡献8条内容
所有评论(0)