k8s高级_调度器Deployment
一: 简介为啥需要deployment:目的是让Kubernetes去管理一组无状态Pod的副本也就是副本集 这样就能够保证一定数量的副本一直可用 不会因为某一个Pod挂掉导致整个服务挂掉。避免单点故障和支撑更高的访问量概念Deployment是一个定义及管理多副本应用即多个副本 Pod的新一代对象与Replication Controller相比它提供了更加完善的功能使用起来更加简单方便二: 示例1.0 定义deployment准备工作目录mkdir11deployment;cd11deployment定义deploymentvimdeployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector:#选择器匹配要管理的PodmatchLabels: app: nginx replicas:2#Pod 副本数如果 Pod 少于 2 个比如一个挂了会自动创建新的补足如果多于 2 个会终止多余的。template:#POD模板。以前定义Pod配置metadata: labels: app: nginx spec: containers:#容器配置- name: nginx image: nginx ports: - containerPort:802.0 创建deployment创建deployment[rootk8s-master 11deployment]# kubectl apply -f deployment.yamldeployment.apps/nginx-deployment created[rootk8s-master 11deployment]#3.0 查看查看deployment[rootk8s-master 11deployment]# kubectl get deploymentsNAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment2/22213s[rootk8s-master 11deployment]#查看pod[rootk8s-master 11deployment]# kubectl get pods -l appnginxNAME READY STATUS RESTARTS AGE nginx-deployment-7848d4b86f-j28671/1 Running031s nginx-deployment-7848d4b86f-r8rww1/1 Running031s[rootk8s-master 11deployment]#4.0 删除[rootk8s-master 11deployment]# kubectl delete -f deployment.yamldeployment.appsnginx-deploymentdeleted[rootk8s-master 11deployment]# kubectl get deploymentsNo resources foundindefault namespace.[rootk8s-master 11deployment]#