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
- K8s是什么
- K8s特点
- K8s功能
- 为什么用容器
- K8s集群搭建
- 1. 集群架构
- 2. 机器初始化
- 3. 安装Docker
- 4. 配置k8s镜像仓库
- 5. 安装k8s核心工具
- 6. 初始化主节点
- 7. node节点加入集群
- 8. 安装Pod网络插件
- 9. 测试k8s集群
- yaml资源文件
- yaml文件作用
- yaml文件编辑语法
- 资源清单描述方法
- 命令行工具kubectl
- kubectl是什么
- kubectl命令语法
- Pod
- Pod是什么
- Pod特征
- Pod定义
- Pod基本操作
- Pod分类
- Pod生命周期
- Pod重启策略
- 镜像拉取策略
- 资源限制
- 健康检查
- Label
- Namespace
- ReplicationController
- ReplicaSet
- Deployment
- HorizontalPodAutoscaler
- Service
- Service是什么
- 应用Service
- Ingress
- Ingress是什么
- 部署ingress-nginx
- Helm
- Helm是什么
- Volume
- Volume是什么
- NFS的使用
- PV与PVC
- PV与PVC是什么
- PV与PVC的使用
- ConfigMap
- ConfigMap是什么
- ConfigMap创建
- ConfigMap使用
- ConfigMap热更新
- 滚动更新Pod
- Secret
- Secret作用
- Secret类型