K8S 使用 Deployment 运行一个无状态应用:Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S 使用 Deployment 运行一个无状态应用:Nginx相关的知识,希望对你有一定的参考价值。
参考技术A 你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。如果你还没有集群,参考 用 kubeadm 在 Debian 或 Ubuntu 中创建 k8s 集群 。
你可以通过创建一个 Kubernetes Deployment 对象来运行一个应用,且你使用 yaml 格式的文件创建一个 Deployment 的配置文件。例如, 下面是一个运行 nginx:1.14.2 Docker 镜像的 Deployment 的配置文件:
deployment.yaml
使用 yaml 文件创建一个 Deployment:
显示 Deployment 相关信息:
输出:
列出 Deployment 创建的 Pods:
输出:
显示某一个 Pod 信息:
这里的 <pod-name> 是某一 Pod 的名称。
你可以通过更新一个新的 YAML 文件来更新 Deployment。下面的 YAML 文件指定该 Deployment 镜像更新为 nginx 1.16.1。
deployment-update.yaml
应用新的 YAML:
查看该 Deployment 以新的名称创建 Pods 同时删除旧的 Pods:
你可以通过应用新的 YAML 文件来增加 Deployment 中 Pods 的数量。 下面的 YAML 文件将 replicas 设置为 4,指定该 Deployment 应有 4 个 Pods:
deployment-scale.yaml
应用新的 YAML 文件:
验证 Deployment 有 4 个 Pods:
输出:
通过名称删除 Deployment:
14,k8s 的deployment的使用
Deployment功能与应用场景: 部署无状态应用 管理Pod和ReplicaSet 具有上线部署、副本设定、滚动升级、回滚等功能 提供声明式更新,例如只更新一个新的Image 应用场景:Web服务,微服务 使用Deployment部署一个应用: 创建 kubectl create deployment web --image=nginx:1.14 --dry-run -o yaml >web.yml kubectl create deployment web --image=nginx:1.14 kubectl get deploy,pods 发布 kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web kubectl get service 升级 kubectl set image deployment/web nginx=nginx:1.15 查看升级状态 kubectl rollout status deployment/web 回滚 kubectl rollout history deployment/web kubectl rollout undo deployment/web kubectl rollout undo deployment/web --revision=2 弹性伸缩 kubectl scale deployment/web --replicas=10 Kubectl edit 在线更改,立即生效。 Kubectl patch 打补丁
以上是关于K8S 使用 Deployment 运行一个无状态应用:Nginx的主要内容,如果未能解决你的问题,请参考以下文章