文档章节

kubernetes实践之四:深入理解控制器(workload)

o
 osc_a22drz29
发布于 2019/03/26 15:33
字数 501
阅读 15
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一.Pod与controllers的关系

  • controllers:在集群上管理和运行容器的对象
  • 通过label-selector相关联
  • Pod通过控制器实现应用的运维,如伸缩,升级等

二.Deployment

  • 部署无状态应用
  • 管理Pod和ReplicaSet
  • 具有上线部署、副本设定、滚动升级、回滚等功能
  • 提供声明式更新,例如只更新一个新的Image

    应用场景:Web服务,微服务

创建Deployment:

# kubectl apply -f nginx-deployment.yaml

查看Deployment信息:

#kubectl get deployments

上图中涉及到数量解释如下:

READY:0/3 当前准备好的副本数量0,期望副本数3 (即Deployment里面定义的replicas)

UP-TO-DATE: 最新版本副本数量,在滚动升级中,有多少副本已经升级成功

AVAILABLE:当前集群可用的副本数量,及存活的Pod数量

最终结果如下:

查看副本数量:

# kubectl get rs

查看Deployment控制pod水平拓展过程

# kubectl describe deployment nginx-deployment

三.StatefulSet

  • 部署有状态应用
  • 每个节点都有固定身份ID
  • 集群的规模比较固定
  • 如果磁盘损坏,集群内的某个节点无法运行

    应用场景:mysql集群,MongoDB集群,Zookeeper集群

四.DaemonSet

  • 在每一个Node上运行一个Pod
  • 新加入的Node也同样会自动运行一个Pod

    应用场景:zabbix agent,saltstack agent    

创建DaemonSet:

# kubectl apply -f agent.yaml

查看daemonset信息

# kubectl get daemonset

五.Job

  • 普通任务(Job)

一次性执行

官方案例:https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

    应用场景:离线数据处理

    

部署perl

# kubectl apply -f https://k8s.io/examples/controllers/job.yaml

查看job

#kubectl get jobs

查看日志:

# kubectl logs pi-lzsh6

六.控制器小结

  • Deployment:无状态部署
  • StatefulSet:有状态部署
  • DaemonSet:守护进程部署
  • Job & CronJob:批处理

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
《CNCF × Alibaba 云原生技术公开课》正式首播

《CNCF × Alibaba 云原生技术公开课》立即观看:点击立即观看 云原生最初来描述云上应用的典型架构与特性,随着容器、Kubernetes、Serverless、FaaS技术的演进,CNCF(云原生计算基金会)把...

mcy0425
2019/04/19
7
0
《CNCF × Alibaba 云原生技术公开课》正式首播

《CNCF × Alibaba 云原生技术公开课》立即观看:点击立即观看 云原生最初来描述云上应用的典型架构与特性,随着容器、Kubernetes、Serverless、FaaS技术的演进,CNCF(云原生计算基金会)把...

mcy0425
2019/04/17
5
0
如何掌握 Kubernetes ?

深度剖析 Kubernetes 为了帮助初学者,2018 年,InfoQ 旗下的极客时间,出了一份很有深度的专栏《深度剖析 Kubernetes》。 这份专栏,覆盖度到底如何呢?读它的目录,就可见一斑。我把目录摘...

风尾
2018/10/02
0
0
Kubernetes实战:目录

一、Docker实战 Docker: 基础介绍 [一] Docker:Docker 性质及版本选择 [三] Docker:网络及数据卷设置 [四] Docker:手动制作镜像 [五] Docker:dockerfile自动构建镜像 [六] Docker:常用...

活的潇洒80
2019/02/21
0
0
Kubernetes实战:目录

一、Docker实战 Docker: 基础介绍 [一] Docker:Docker 性质及版本选择 [三] Docker:网络及数据卷设置 [四] Docker:手动制作镜像 [五] Docker:dockerfile自动构建镜像 [六] Docker:常用...

osc_ypm51igr
2019/02/21
1
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 那么长的绳子,你这是放风筝呢

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 巴拉迪维:黑豹乐队的单曲《无地自容》 耳畔突然响起旋律,是那首老歌。中国摇滚有了《一无所有》不再一无所有;中国摇滚有了《无地自容》不...

小小编辑
50分钟前
55
1
《吐血整理》-顶级程序员书单集

你知道的越多,你不知道的越多 给岁月以文明,而不是给文明以岁月 前言 王潇:格局决定了一个人的梦想,梦想反过来决定行为。 那格局是什么呢? 格局是你能够看见的深度、广度和密度。 王潇认...

敖丙
2019/12/11
8
0
我可以在Android版式中加下划线吗? - Can I underline text in an Android layout?

问题: 如何在Android布局xml文件中定义带下划线的文本? 解决方案: 参考一: https://stackoom.com/question/A31z/我可以在Android版式中加下划线吗 参考二: https://oldbug.net/q/A31z/...

法国红酒甜
52分钟前
26
0
干掉ELK | 使用Prometheus+Grafana搭建监控平台

什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus的特点 · 多维度...

木九天
今天
34
0
拉勾网拉你上勾

预览 需求简介 拉勾网是一个互联网行业的一个招聘网站,上面有许多职位,于是乎,小编想提取指定职位的基本信息(职位名,薪水,工作经验,工作地点,教育背景),然后插入 MongoDB 数据库,...

木下瞳
2019/04/17
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部