[root@k8s-master-01 deploy]# kubectl create deploy mydeploy --image=nginx --dry-run -o yamlW0212 15:36:32.387488 98337 helpers.go:598] --dry-run is deprecated and can be replaced with --dry-run=client.apiVersion: apps/v1kind: Deploymentmetadata: creationTimestamp: null labels: app: mydeploy name: mydeployspec: replicas: 1 selector: matchLabels: app: mydeploy strategy: {} template: metadata: creationTimestamp: null labels: app: mydeploy spec: containers: - image: nginx name: nginx resources: {}status: {}#查看coredns的deployment[root@k8s-master-01 deploy]# kubectl get deploy coredns -n kube-system -o yamlapiVersion: apps/v1kind: Deploymentmetadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2022-02-08T09:43:50Z" generation: 1 labels: k8s-app: kube-dns name: coredns namespace: kube-system resourceVersion: "142085" uid: 90efabe9-c12d-4dcd-8199-4e2b93bbf25fspec: progressDeadlineSeconds: 600 replicas: 2 revisionHistoryLimit: 10 selector: matchLabels: k8s-app: kube-dns strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 1 type: RollingUpdate template: metadata: creationTimestamp: null labels: k8s-app: kube-dns spec: containers: - args: - -conf - /etc/coredns/Corefile image: registry.aliyuncs.com/google_containers/coredns:v1.8.6 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 5 httpGet: path: /health port: 8080 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: coredns ports: - containerPort: 53 name: dns protocol: UDP - containerPort: 53 name: dns-tcp protocol: TCP - containerPort: 9153 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /ready port: 8181 scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: memory: 170Mi requests: cpu: 100m memory: 70Mi securityContext: allowPrivilegeEscalation: false capabilities: add: - NET_BIND_SERVICE drop: - all readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/coredns name: config-volume readOnly: true dnsPolicy: Default nodeSelector: kubernetes.io/os: linux priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: coredns serviceAccountName: coredns terminationGracePeriodSeconds: 30 tolerations: - key: CriticalAddonsOnly operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/master - effect: NoSchedule key: node-role.kubernetes.io/control-plane volumes: - configMap: defaultMode: 420 items: - key: Corefile path: Corefile name: coredns name: config-volumestatus: availableReplicas: 2 conditions: - lastTransitionTime: "2022-02-08T09:44:06Z" lastUpdateTime: "2022-02-08T09:45:22Z" message: ReplicaSet "coredns-6d8c4cb4d" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing - lastTransitionTime: "2022-02-12T03:41:56Z" lastUpdateTime: "2022-02-12T03:41:56Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available observedGeneration: 1 readyReplicas: 2 replicas: 2 updatedReplicas: 2[root@k8s-master-01 deploy]# more mydeploy.yamlapiVersion: apps/v1kind: Deploymentmetadata: creationTimestamp: null labels: app: mydeploy name: mydeployspec: replicas: 1 selector: matchLabels: app: mydeploy strategy: {} template: metadata: creationTimestamp: null labels: app: mydeploy spec: containers: - image: nginx name: nginx resources: {}status: {}[root@k8s-master-01 deploy]# kubectl apply -f mydeploy.yamldeployment.apps/mydeploy created[root@k8s-master-01 deploy]# kubectl get deployNAMEREADY UP-TO-DATE AVAILABLE AGEmydeploy 1/1 1 1 25s[root@k8s-master-01 deploy]# kubectl expose deploy mydeploy --name=mysvc --port=80 --target-port=80service/mysvc exposed[root@k8s-master-01 deploy]# kubectl autoscale deploy mydeploy --max=5 --cpu-percent=80horizontalpodautoscaler.autoscaling/mydeploy autoscaled#更新镜像[root@k8s-master-01 deploy]# kubectl set image deploy mydeploy nginx=nginx:1.7.9deployment.apps/mydeploy image updated#查看版本[root@k8s-master-01 deploy]# kubectl rollout history deploy mydeploydeployment.apps/mydeployREVISION CHANGE-CAUSE1 2 [root@k8s-master-01 deploy]# kubectl set image deploy mydeploy nginx=nginx:latest --record=trueFlag --record has been deprecated, --record will be removed in the futuredeployment.apps/mydeploy image updated[root@k8s-master-01 deploy]# kubectl rollout history deploy mydeploydeployment.apps/mydeployREVISION CHANGE-CAUSE1 2 3 kubectl set image deploy mydeploy nginx=nginx:latest --record=true#回滚[root@k8s-master-01 deploy]# kubectl rollout undo deploy mydeploy --to-revision=2deployment.apps/mydeploy rolled back#端口类型[root@k8s-master-01 deploy]# kubectl get svc kubernetes -n default -o yamlapiVersion: v1kind: Servicemetadata: creationTimestamp: "2022-02-08T09:43:48Z" labels: component: apiserver provider: kubernetes name: kubernetes namespace: default resourceVersion: "209" uid: 83ca0df2-0083-4d24-9f71-9944d6a934d6spec: clusterIP: 10.96.0.1 clusterIPs: - 10.96.0.1 internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: https port: 443 #service的端口 protocol: TCP targetPort: 6443 #后端容器暴露的端口 sessionAffinity: None type: ClusterIPstatus: loadBalancer: {}