yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: dp-name       #定义名称
  namespace: default  # 指定命名空间
  labels:
    app:  #选择器名称 
spec:
  replicas: 1  #pod数量
  selector:         #标签选择器
    matchLabels:    #查找匹配的标签
      app:    #选择使用此标签
  template:         #Pod的模板信息,根据模板信息来创建Pod
    metadata:       #Pod的元数据
      labels:       #Pod的标签
        app:  #选择器名称
    spec:           #容器的信息
      containers:
      - name: nginx11
        image: nginx:1.21.6-alpine
        imagePullPolicy: IfNotPresent     #只会尝试拉取那些在本地不存在的镜像。如果镜像已经在节点上,它不会尝试拉取
        workingDir: string  #容器的工作目录
        ports:
        - containerPort: 80
        - containerPort: 8080
        env: 
        - name: TZ
          value: Asia/Shanghai
        - name: MYSQL_ROOT_PASSWORD
          value: xxxxxx
        command: 
        - sh
        - -c
        - "exec mongod -f /etc/mongo/mongod.conf"
        args: ['--default-auth=mysql_native_password','--max_connections=5000']
        volumeMounts: #k8s的master服务器对应的路径,必须存在    
        - name: confd
          mountPath: /etc/nginx/conf.d
          readOnly: true  #只读模式
      #resources: #资源限制和请求的设置
      #  limits:  #资源限制的设置
      #    cpu: string     #Cpu的限制,单位为core数,将用于docker run --cpu-shares参数
      #    memory: string  #内存限制,单位可以为Mib/Gib,将用于docker run --memory参数
      #  requests: #资源请求的设置
      #    cpu: string    #Cpu请求,容器启动的初始可用数量
      #    memory: string #内存请求,容器启动的初始可用数量 
      nodeName: node4  #指定运行的工作节点
      restartPolicy: [Always | Never | OnFailure]
      nodeSelector: obeject #将该Pod调度到包含这个label的node上
      imagePullSecrets: #Pull镜像时使用的secret名称,以key:secretkey格式指定
      #hostNetwork: false   #是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络
      volumes:
        - name: confd
          #emptyDir:        #类型为emtyDir的存储卷,与Pod同生命周期的一个临时目录。为空值
          hostPath:
            path: /data/ngx/conf.d
---
apiVersion: v1
kind: Service
metadata: 
  name: 
  # #namespace: default
spec: 
  type: NodePort #配置为NodePort,外部可以访问
  selector:
    app:    #选择器
  ports:
    - name: http
      port: 80       #容器间,服务调用的端口
      targetPort: 80    #容器暴露的端口,与Dockerfile暴露端口保持一致
      nodePort:    #NodePort,外部访问的端口
      #protocol: TCP    #协议