在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。

在kubernetes中Pod控制器的种类有很多,本章节只介绍一种:Deployment。

命令操作

# 命令格式: kubectl create deployment 名称  [参数]
# --image  指定pod的镜像
# --port   指定端口
# --replicas  指定创建pod数量
# --namespace  指定namespace
[root@master ~]# kubectl create deploy nginx --image=nginx:latest --port=80 --replicas=3 -n dev
deployment.apps/nginx created
​
# 查看创建的Pod
[root@master ~]# kubectl get pods -n dev
NAME                     READY   STATUS    RESTARTS   AGE
nginx-5ff7956ff6-6k8cb   1/1     Running   0          19s
nginx-5ff7956ff6-jxfjt   1/1     Running   0          19s
nginx-5ff7956ff6-v6jqw   1/1     Running   0          19s
​
# 查看deployment的信息
[root@master ~]# kubectl get deploy -n dev
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   3/3     3            3           2m42s
​
# UP-TO-DATE:成功升级的副本数量
# AVAILABLE:可用副本的数量
[root@master ~]# kubectl get deploy -n dev -o wide
NAME    READY UP-TO-DATE  AVAILABLE   AGE     CONTAINERS   IMAGES              SELECTOR
nginx   3/3     3         3           2m51s   nginx        nginx:latest        run=nginx
​
# 查看deployment的详细信息
[root@master ~]# kubectl describe deploy nginx -n dev
Name:                   nginx
Namespace:              dev
CreationTimestamp:      Wed, 08 May 2021 11:14:14 +0800
Labels:                 run=nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               run=nginx
Replicas:               3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:Labels:  run=nginxContainers:nginx:Image:        nginx:latestPort:         80/TCPHost Port:    0/TCPEnvironment:  <none>Mounts:       <none>Volumes:        <none>
Conditions:Type           Status  Reason----           ------  ------Available      True    MinimumReplicasAvailableProgressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   nginx-5ff7956ff6 (3/3 replicas created)
Events:Type    Reason             Age    From                   Message----    ------             ----   ----                   -------Normal  ScalingReplicaSet  5m43s  deployment-controller  Scaled up replicaset nginx-5ff7956ff6 to 3# 删除
[root@master ~]# kubectl delete deploy nginx -n dev
deployment.apps "nginx" deleted

配置操作

创建一个deploy-nginx.yaml,内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:name: nginxnamespace: dev
spec:replicas: 3selector:matchLabels:run: nginxtemplate:metadata:labels:run: nginxspec:containers:- image: nginx:latestname: nginxports:- containerPort: 80protocol: TCP

然后就可以执行对应的创建和删除命令了:

创建:kubectl create -f deploy-nginx.yaml

删除:kubectl delete -f deploy-nginx.yaml

kubernetes-Deployment相关推荐

  1. WHAT THE DATA SAYS ABOUT KUBERNETES DEPLOYMENT PATTERNS

    2019独角兽企业重金招聘Python工程师标准>>> WHAT THE DATA SAYS ABOUT KUBERNETES DEPLOYMENT PATTERNS The con ...

  2. 容器编排技术 -- Kubernetes Deployment

    容器编排技术 -- Kubernetes Deployment 1 创建 Deployment 1.1 Pod-template-hash label 2 更新Deployment 2.1 Rollo ...

  3. kubernetes deployment,pod 实践

    本文同步gitlab 更新 https://github.com/lifalin0802/falin_repos/blob/master/kubernetes_manual.md 创建自主pod ku ...

  4. 2021完整版:Kubernetes Deployment故障排除的可视化指南

    原文发表于kubernetes中文社区,为作者原创翻译 更多kubernetes文章,请多关注kubernetes中文社区 文章目录 连接Deployment 和 Service 连接 Service ...

  5. Kubernetes Deployment控制器(二十)

    前面我们学习了 ReplicaSet 控制器,了解到该控制器是用来维护集群中运行的 Pod 数量的,但是往往在实际操作的时候,我们反而不会去直接使用 RS,而是会使用更上层的控制器,比如我们今天要学习 ...

  6. Kubernetes Deployment

    什么是Deployment? Deployment提供了运行Pod能力,并且为Pod提供滚动升级.伸缩.副本等功能,一般用于运行无状态的应用.目前建议使用Deployment来代替RelicaSet及 ...

  7. Kubernetes Deployment与Replica Set

    Deployment相对于RC的优势 RS与Deployment主要用于替代RC.RS的全称为Replica Set.相对于RC,RS与Deployment的优势如下: RC只支持基于等式的selec ...

  8. Kubernetes:全面了解 Deployment

    本文为作者的 Kubernetes 系列电子书的一部分,电子书已经开源,欢迎关注,电子书浏览地址: https://k8s.whuanle.cn[适合国内访问] https://ek8s.whuanl ...

  9. 容器编排技术 -- Kubernetes 联邦 Deployment

    容器编排技术 -- Kubernetes 联邦 Deployment 1 Before you begin 2 创建联邦 Deployment 2.1 在底层集群中分布副本 3 更新联邦 Deploy ...

  10. kubernetes1.4 基础篇:Learn Kubernetes 1.4 by 6 steps(3):Step 2. Using kubectl to Create a Deployment

    在上一篇文章中我们学习到了如何快速搭k8s的集群.本文将会将会学到Kubernetes的应用部署(Deployment),以及如何使用kubectl来部署我们的应用.被部署的应用我们将直接使用kube ...

最新文章

  1. 4. Brackets 前端编辑器试用
  2. CEF(包含均衡负载)
  3. springboot 订单重复提交_瞬间几千次的重复提交,我用Spring Boot+Redis扛住了
  4. 问题:如何将多个文件里内容都提取出来
  5. php通过ip地址查询位置,PHP通过IP获取地理位置
  6. GB28181平台介绍
  7. IP组播之组管理协议IGMP
  8. js系列教程9-表单元素全解
  9. react打包成html5,create-react-app项目打包相关问题
  10. 什么是对比度、亮度?教你在线调整图片色彩
  11. iOS Charts库绘制曲线
  12. qlabel 详解
  13. 网站推荐(3)——黑马Java学习路线
  14. 预约订座APP系统(基于uni-app框架)毕业设计毕业论文开题报告参考(3)系统后台管理功能
  15. 解决:Uncaught (in promise) TypeError: Failed to fetch 的问题
  16. 2020年11月软件设计师真题透析
  17. XML与JSON的生成与解析
  18. windows系统中创建以 点 .开头的文件及文件夹的方法
  19. od找数据 遇到dll_硬核HR们都在谈论的OD到底是什么?
  20. 融云助制造业移动信息化建设 加速两化融合创新

热门文章

  1. UOJ #584. 天天去哪吃
  2. [贪心][前缀和] Jzoj P4256 平均数
  3. app遍历——appCrawler的使用
  4. Xamarin使用ListView开启分组视图Cell数据展示bug处理
  5. 从头开始学JavaScript (七)——函数
  6. POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)
  7. HALCON基础知识
  8. MySQL + Atlas 部署读写分离
  9. webpack-plugin-webpack.DefinePlugin-应用全局变量,svn-rep-browser
  10. 聚焦智造 共筑生态——“2016智能硬件生态圈品牌交流会”即将举行