创建deployment
服务编排-Deployment
Deployment也叫部署集;
deployment.Spec.Selector与deployment.Spec.Template.Labels一致
Deployment工作负载均衡器介绍
Deployment是最常用的k8s工作负载控制器,部署和管理pod;
其他控制器还有DaemonSet,StatefulSet等.
Deployment的主要功能
- 管理
Pod和ReplicaSet - 具有
上线部署,副本设定,滚动更新,回滚等功能 - 提供
声明式更新,例如只更新一个新的Image
Deployment的应用场景
- 网站
- API
- 微服务
创建一个deployment
命令行创建deployment
# 使用命令行部署
# 使用Department控制器部署镜像
kubectl create deployment 应用名 --image=镜像名 --replicas=副本数量
# 使用lizhenliang/java-demo镜像创建一个名为tomcatdemo的deployment
kubectl create deployment tomcatdemo --image=lizhenliang/java-demo
yaml创建deployment
## --dry-run是试运行看是否有错误
kubectl create deployment 应用名 --image=nginx:1.16 -o yaml --dry-run=client > my-deploy.yaml
k8s资源限制:requests 与 limits
K8s 采用requests和limits两种限制类型来对资源进行容器粒度的分配,每一个容器都可以独立地设定相应的requests和limits。这 2 个参数是通过每个容器 containerSpec 的 resources 字段进行设置的。一般来说,在调度的时候requests比较重要,在运行时limits比较重要。
resources:
requests:
cpu: 50m
memory: 50Mi
limits:
cpu: 100m
memory: 100Mi
-
requests定义了对应容器需要的最小资源量。requests字段限定的资源是独享的。 -
limits定义了这个容器最大可以消耗的资源上限,防止过量消耗资源导致资源短缺甚至宕机。特别的,设置为 0 表示对使用的资源不做限制。 -
当设置
limits而没有设置requests时,Kubernetes默认令requests等于limits。
apply资源清单
# apply这个deployment
kubectl apply -f my-deploy.yaml
查看Deployment和pod的状态
# 查看Deployment和pod的状态
kubectl get deployment,pods
# 每秒钟查看一次
watch -n 1 kubectl get deployment,pods
滚动重启deployment
# 滚动重启(Rolling Restart)deployment
## - rollout: 是 kubectl 的一个子命令,用于管理应用的部署和发布过程。
## - restart: 是 rollout 子命令下的一个操作,用于触发资源的重启。
kubectl rollout restart deployment nginx

扩缩容
# 查看原来的副本数量
kubectl get deploy/gost

# 将副本数量调整为2个
kubectl scale deploy 应用名 --replicas=2
## 或者修改对应yamal文件中的replicas值,apply一下即可
# 查看修改后的副本数量
kubectl get deploy/gost

deploy中指定env
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
# 副本数
replicas: 3
selector:
# 标签选择器
matchLabels:
app: my-app
template:
metadata:
labels: # 为将要创建的 Pod 设置标签
app: my-app
spec:
containers:
- name: my-container
image: my-image
resources:
limits:
memory: "25Mi"
cpu: "10m"
# 为每个pod指定变量
env:
- name: ${变量名}
value: ${变量值}
- name: ${DB_HOST}
value: my-database.example.com

1030

被折叠的 条评论
为什么被折叠?



