k8s基础概念:pause容器和pod控制器类型
2023-09-14 09:01:51 时间
pause容器的作用
- pause容器:只要是有容器启动,pause就会启动。
- pod内的其他容器会共用pause容器的网络栈和存储卷。
- 容器是没有自己的IP地址的,都共用pause容器的。
- 要保证pod内的其他容器的端口不能冲突,彼此都是通过localhost就可以访问。如果端口冲突就会启动不了或是无限重启。
pod控制器类型
RC RS Deployment
- 官方建议用ReplicaSet替代ReplicationController。RS支持集合式的selector,可以根据label和version来对pod进行操作。
- 建议使用Deployment来自动管理RS。Deployment支持滚动更新(灰度发布),比如要发布一个新的版本,可以先创建出新版本的pod,然后将旧版本的pod依次删除,从而实现滚动更新,RS不支持这种滚动更新操作。
- Deployment不支持pod的创建,是通过RS来实现pod的创建的。比如:实现版本的滚动更新过程,会通过创建一个新的RS来创建出新版本的pod,同时将旧的RS管理的旧版本的pod依次删除。
- 同时Deployment可以支持回滚。原因就是旧的RS并不会被删除,而是被停用,回滚时会将旧版本的RS重新启用,从而达到回滚的目的。
HPA
- 动态扩容
- 根据CPU利用率来扩容,≤max定义的最大数量。
- 一旦CPU利用率不足,就会删除pod,但最终剩余的pod数量不会低于min定义的数量。
StatefulSet
- mysql,mongodb都要实现数据的实时更新和存储,将其抽出集群再放回来就没法正常工作了,这些就是典型的有状态服务。
- StatefulSet能够实现pod重新调度后还是能基于PVC访问到相同的持久化数据,并且数据还不会丢失。
- 有序部署:比如先启动Nginx,再启动tomcat,最后启动MySQL就会报错,StatefulSet可以实现有序启动,mysql–>tomcat–>nginx
截止到目前,MySQL在k8s环境下还是不能跟传统环境下相比拟,还是有缺憾的,但是StatefulSet是一种很好的思想。
DaemonSet
Job, CronJob
相关文章
- K8S实战入门
- K8s pod之临时容器和服务质量Qos
- k8s系列(1)-腾讯云CVM手动部署K8S_Dashboard安装2
- k8s系列(1)-腾讯云CVM手动部署K8S_Dashboard安装1
- k8s离线安装进阶版
- Kubernetes初体验-基于K8S的集群部署
- 云安全 | k8s 提权漏洞 CVE-2018-1002105 学习
- k8s解除service端口限制
- 阿里大佬力荐K8s项目实战笔记!图文并茂带你深度解析Kubernetes
- K8s基本概念入门_k8s菜鸟教程
- 图解K8s源码 - kubelet 下的 QoS 控制机制及 k8s Cgroups v2 简介
- 快速搭建k8s集群
- 使用kubeadm安装k8s
- 二进制部署k8s教程17 - 最后总结
- Sentry + K8S 云原生分布式 Service Mesh 微服务实战,自建容器化中间件集群服务
- 图解K8s源码 - kube-apiserver下的RBAC鉴权机制
- 【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式
- 聊聊如何在K8S中实现会话保持
- Ansible自动化部署K8S集群
- 在K8s上部署Redis集群的方法步骤
- K8S上简易部署Oracle数据库(k8s上部署oracle)
- K8s与Oracle的完美结合赋能企业数字化转型(k8s和oracle)