k8s定義yaml檔案常用的一些欄位
阿新 • • 發佈:2020-12-15
spec: replicas: 6 # 定義副本數量 strategy: rollingUpdate: # 滾動更新通過引數 maxSurge 和 maxUnavailable 來控制副本替換的數量 maxSurge: 35% maxUnavailable: 35% template: spec: containers: livenessProbe: exec: command: - cat - /tmp/healthy # 定義存活健康檢查(exec方式) readinessProbe: # 定義就緒健康檢查(httpGet方式) httpGet: scheme: HTTP path: /healthy port: 8080 initialDelaySeconds: 10 periodSeconds: 5 volumeMounts: # 使用empty_dir作為儲存(pod不在,volume也在) - mountPath: /consumer_dir name: shared-volume - mountPath: /etc/ssl/certs # 使用host-path作為儲存 name: ca-certs readOnly: true - mountPath: /test-ebs # 使用外部的storage provider作為儲存 name: ebs-volume - name: foo # 通過volume的方式來使用secret mountPath: "/etc/foo" readOnly: true - name: foo # 通過volume的方式來使用configmap mountPath: /etc/foo readOnly: true env: # 通過env的方式來使用secret - name: SECRET_USERNAME valueFrom: secretKeyRef: name: my-secret key: username - name: SECRET_PASSWORD valueFrom: secretKeyRef: name: my-secret key: password - name: CONFIG_1 # 通過env的方式來使用configmap valueFrom: configMapKeyRef: name: my-configmap1 key: config1 - name: CONFIG_2 valueFrom: configMapKeyRef: name: my-configmap1 key: config2 volumes: - name: shared-volume emptyDir: {} - hostPath: # 使用host-path作為儲存 path: /etc/ssl/certs type: DirectoryOrCreate name: ca-certs - name: ebs-volume # 使用外部的storage provider作為儲存 awsElasticBlockStore: volumeID: <volume-id> fsType: ext4 - name: wwwroot # 定義使用pvc來做儲存 persistentVolumeClaim: claimName: my-pvc - name: foo # 通過volume的方式來使用secret secret: secretName: mysecret items: # 自定義存放資料的檔名 - key: username path: my-group/my-username - key: password path: my-group/my-password - name: foo # 通過volume的方式來使用configmap configMap: name: my-configmap items: - key: logging.conf path: myapp/logging.conf nodeSelector: disktype: ssd # 定義節點標籤選擇器