介绍

k8s是一个容器编排引擎,使用YAML文件编排要部署的应用,因此在学习之前,需要先了解YAML的语法格式:

  • 缩进表示层级关系
  • 不支持制表符“tab”缩进,使用空格缩进
  • 通常开通缩进2个空格
  • 字符后缩进1个空格,如冒号,逗号等
  • “—” 表示YAML格式,一个文件的开始
  • “#”表示注释
  • 使用kubectl apply -f <filename.yaml>生成部署或者更新,使用kubectl delete -f <filename.yaml>删除

deployment.yaml示例

yaml文件的编写可以参考官方文档示例deployment示例

apiVersion: apps/v1			#版本,可以通过  kubectl api-resources |grep deployment 命令查询最新版本
kind: Deployment			#类型
metadata:					#元数据信息
  name: nginx-deployment	#名字
  labels:					#标签信息(可选)
    app: nginx
spec:						
  replicas: 3				#期望副本数
  selector:
    matchLabels:
      app: nginx-zhangyu	#标签
  template:
    metadata:
      labels:
        app: nginx			#标签
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

使用kubectl apply -f deployment.yaml进行新建,同时可以用此进行更新

service.yaml示例

image-20220427164103694

yaml文件编写service示例可查看官方文档搜索service

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376

关于yaml文件生成的方式

kubectl create deployment web --image=nginx:1.6 --replicas=3 -o yaml --dry-run=client			#通过-o yaml 生成yaml格式输出,  通过--dry-run=client 不创建pod
kubectl get -n kube-system deployments.apps calico-kube-controllers -o yaml			#获取yamlwen'jian
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐