ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
Deployment 是 Kubenetes v1.2 引入的新概念,引入的目的是为了更好的解决 Pod 的编排 问题,Deployment 内部使用了 ReplicaSet 来实现。Deployment 的定义与 ReplicaSet 的 定义很类似,除了 API 声明与 Kind 类型有所区别。 <br/> 例如,部署 tomcat9 应用: ```shell 【1】生成 yaml 模板 # kubectl create deployment tomcat9-dep01 \ --image=tomcat:9.0.74-jre17 \ --dry-run=client -o yaml > tomcat9-dep01.yaml 【2】 # vim tomcat9-dep01.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: tomcat9-dep01 name: tomcat9-dep01 spec: replicas: 3 #3个副本 selector: matchLabels: app: tomcat9-dep01 template: metadata: labels: app: tomcat9-dep01 spec: containers: - image: tomcat:9.0.74-jre17 name: tomcat 【3】部署 # kubectl apply -f tomcat9-dep01.yaml 【4】可以看到成功部署了3个pod # kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE ... tomcat9-dep01-776d959696-7vknf 1/1 Running 0 42m 10.244.2.16 k8s-node2 ... tomcat9-dep01-776d959696-dg7sh 1/1 Running 0 42m 10.244.1.21 k8s-node1 ... tomcat9-dep01-776d959696-l8znb 1/1 Running 0 42m 10.244.1.20 k8s-node1 ... ``` ![](https://img.kancloud.cn/3e/ab/3eab0ea83b74ff684fbc6019f478285a_1865x410.png) **** 参考文档:https://feisky.gitbooks.io/kubernetes/content/concepts/deployment.html