Kubernetes基础:Deployment中ReplicaSet
Deployment是通过ReplicaSet来进行Pod的管理的,这篇文章通过一个简单的示例,对此进行说明。
Deployment的YAML示例
有如下busybox的Deployment的YAML配置文件:
[root@host131 Deployment]# cat v1.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:name: busybox-deployment-v1
spec:replicas: 3selector:matchLabels:app: busybox-v1template:metadata:labels:app: busybox-v1spec:containers:- name: busybox-hostimage: busybox:1.31.1command: ["sleep"]args: ["1000"]
...
[root@host131 Deployment]#
生成Deployment和Pod
[root@host131 Deployment]# kubectl create -f v1.yaml
deployment.apps/busybox-deployment-v1 created
[root@host131 Deployment]#
确认Deployment和Pod信息
[root@host131 Deployment]# kubectl get deployment -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
busybox-deployment-v1 3/3 3 3 9s busybox-host busybox:1.31.1 app=busybox-v1
[root@host131 Deployment]#
[root@host131 Deployment]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox-deployment-v1-7bfdbd9656-9pg9s 1/1 Running 0 15s 10.254.152.6 192.168.163.131 <none> <none>
busybox-deployment-v1-7bfdbd9656-l4knv 1/1 Running 0 15s 10.254.152.7 192.168.163.131 <none> <none>
busybox-deployment-v1-7bfdbd9656-m8g9c 1/1 Running 0 15s 10.254.152.5 192.168.163.131 <none> <none>
[root@host131 Deployment]#
日志信息分析
确认Deployment
通过对Deployment和Pod等日志进行分析,确认在Deployment中生成Pod的顺序:
执行命令:kubectl describe deployment busybox-deployment-v1
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 34s deployment-controller Scaled up replica set busybox-deployment-v1-7bfdbd9656 to 3
可以看到出现了一个Replica Set,通过deployment-controller控制器创建,然后使用如下命令确认出了隐藏在后面工作的ReplicaSet, 此ReplicaSet的NAME与上述日志记载的名称相同
[root@host131 Deployment]# kubectl get rs -o wide
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
busybox-deployment-v1-7bfdbd9656 3 3 3 54s busybox-host busybox:1.31.1 app=busybox-v1,pod-template-hash=7bfdbd9656
[root@host131 Deployment]#
确认Replica Set
执行命令:kubectl describe rs busybox-deployment-v1-7bfdbd9656
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-m8g9cNormal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-9pg9sNormal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-l4knv
可以清晰地看到3个Pod实例都是通过Replica Set生成的
确认Pod
执行命令:kubectl describe pod busybox-deployment-v1-7bfdbd9656-m8g9c
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 94s default-scheduler Successfully assigned default/busybox-deployment-v1-7bfdbd9656-m8g9c to 192.168.163.131Normal Pulled 92s kubelet, 192.168.163.131 Container image "busybox:1.31.1" already present on machineNormal Created 92s kubelet, 192.168.163.131 Created container busybox-hostNormal Started 91s kubelet, 192.168.163.131 Started container busybox-host
Pod的创建非常清晰:
- 由调度器决定在192.168.163.131这台节点上进行Pod的生成
- 拉取镜像(镜像事前已经存在的情况)
- 创建镜像 busybox-host
- 启动镜像 busybox-host
总结
从上述示例可以清晰地看到Deployment生成Pode的过程:Deployment -> Replica Set -> Pod生成。
Kubernetes基础:Deployment中ReplicaSet相关推荐
- Kubernetes(15):Pod控制器ReplicaSet和Deployment详解
文章目录 前言 第一节 Pod控制器 第二节 ReplicaSet(RS) 1. 概念和资源清单 2. 创建ReplicaSet 3. 扩缩容 3.1 方法一:直接编辑rs 3.2方法二 :命令扩缩容 ...
- Kubernetes控制器--副本集ReplicaSet
Kubernetes最核心的功能就是编排,而编排操作都是依靠控制器对象来完成的,高级的控制器对象控制基础的控制器对象,基础的控制器对象再去控制Pod,Pod里面再包容器.Kubernetes项目里AP ...
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...
- Kubernetes基础详解
1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不 ...
- kubernetes基础介绍及kubectl常用命令
kubernetes基础介绍及kubectl常用命令 k8s的pod分类 自主式pod 控制器管理的pod 核心主键 HPA service 网络模型 同节点Pod之间的通信 不同节点上的Pod通信 ...
- kubernetes之Deployment
1.什么是Deployment? Deployment(简写为deploy)是kubernetes控制器的又一种实现,构建于ReplicasSet控制器之上,可以为Pod和ReplicaSet提供声明 ...
- Kubernetes基础入门(完整版)
简介 Kubernetes这个名字源于希腊语,意为"舵手"或"飞行员".k8s这个缩写是因为k和s之间有八个字符.Google在 2014年开源了Kuberne ...
- 在Kubernetes v1.8中使用RBAC
Kubernetes 1.8一个重要里程碑是推出了基于角色的访问控制(RBAC)授权,在这个版本中被提升为GA.RBAC是一种控制访问Kubernetes API的机制,因为在1.6中推出beta版, ...
- .NET Core + Kubernetes:Deployment
在上篇文章 .NET Core + Kubernetes:Pod 中,主要介绍了 Pod 的相关内容, 基于 Pod 为单位能更加合理进行容器编排,然而 Pod 只是个启动了一个或一组容器的资源类型, ...
最新文章
- php变量定义的位置,php变量一般放在哪个位置
- 计算机程序输入x是3求输出七年级的题,七年级上册数学第三单元练习题
- 软件测试面试-如何测试一个杯子(转)
- 【dfs】栅栏的木料(2012特长生 T4)
- 论文浅尝 - COLING2020 | 一种用于跨语言实体对齐的上下文对齐强化跨图谱注意力网络...
- Delphi中的操作二进制文件的两个重要函数
- 50道编程小题目之【水仙花数】
- boot入门思想 spring_微服务架构之SpringBoot详解,夯实底层知识,带你轻松入门开发...
- 小程序进阶学习02--安装webstorm
- 阶段3 3.SpringMVC·_07.SSM整合案例_07.ssm整合之编写MyBatis框架测试保存的方法
- py 操作Mysql数据库
- 小米 MIUI 主题制作
- 华硕服务器主板那个系列好,华硕主板型号性价比排行 华硕主板那个性价最好用...
- 链接Linux工具(SecureCRT)
- ORCAD元件的批量替换与更新
- Redis系列(三)--过期策略
- NaN表示什么?typeof NaN结果是什么?
- js gbk与UTF8 转换
- 【SVM分类】基于狮群算法优化实现SVM数据分类matlab源码
- css 父级设置了padding,但是子元素还是会超过padding解决方案
热门文章
- macOS Big Sur 11.2 (20D64) 正式版发布,百度网盘下载
- 华为android怎么玩,如何在计算机上使用Android模拟器玩华为帐户手机游戏? ---已回复...
- mysql 报错“发生系统错误 3.系统找不到指定路径”
- 伤疤好了有黑印怎么办_疤痕留下黑印怎么办 不妨试试这四种方法
- python爬虫,矢量数据地铁线路获取
- 《黑客帝国》或颠倒的两面
- C#三大迷宫生成算法
- ai描边工具怎么打开_AI描边工具命令讲解,教你ai描边功能实用技巧
- 狂人社区_观看此狂人将软盘驱动器连接到他的Android手机
- Unity 导出 obj, fbx