一、概念介绍 原地升级一词中,“升级”不难理解,是将应用实例的版本由旧版替换为新版。那么如何结合 Kubernetes 环境来理解“原地”呢? 我们先来看看 K8s 原生 workload 的发布方式。这里假设我们需要部…
Kubernetes--在Kubernetes中实现容器原地升级
在Kubernetes中,Pod是调度的基本单元,也是所有内置Workload管理的基本单元,无论是Deployment还是StatefulSet,它们在对管理的应用进行更新时,都是以Pod为单位,Pod作为Immuta…
Kubernetes--HELM
目前主线版本为 Helm 3.x,在3.x版本中,已无需部署Tiller,直接下载对应系统的Helm安装包,解压到执行目录即可。 近些年随着容器技术的流行,容器编排管理也随之蓬勃发展,其中尤其以Kubern…
Kubernetes--配置存储之 Configmap & secret
configmap ConfigMap是一个或多个key/value的形式保存在k8s中,内部可以管理变量也可以管理完整的配置文件内容。 示例 apiVersion: v1 kind: ConfigMap metadat…
Kubernetes--资源更新机制
问题现象 1、准备一份 Advanced StatefulSet 的 YAML 文件,并提交创建。如: apiVersion: apps.kruise.io/v1alpha1 kind: StatefulSet meta…
Kubernetes--Ingress 详解
什么是 ingress? 采用 NodePort 方式暴露服务面临问题是,服务一旦多起来,NodePort 在每个节点上开启的端口会及其庞大,而且难以维护;这时,我们可以能否使用一个Nginx直接对内进行转发呢?众所周知…
Kubernetes--Service与服务暴露
开篇 我们前面的课程中学习了一些常用控制器的基本用法,我们也了解到 Pod 的生命是有限的,死亡过后不会复活了。然后我们知道可以用 ReplicaSet 和Deployment 来动态的创建和销毁 Pod,每个 Pod …
Kubernetes--POD Command和容器镜像 CMD的启动顺序
前言: 创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其入参。如果要设置命令,就填写在配置文件的 command 字段下,如果要设置命令的入参,就填写在配置文件的 args 字段下。一旦 Pod 创建完成,该…
Kubernetes--POD的启动流程及控制容器的启动顺序
POD的启动流程 整体流程 client向APIServer发送创建pod的请求: APIServer将pod信息存入etcd,通知Scheduler; Scheduler根据调度算法,为pod选择一个节点,然后向API…
Kubernetes--Deployment 控制器
开篇 今天我们来说说Deployment, Deployment一个非常重要的功能就是实现了 Pod 的“水平扩展/收缩”,比如我们应用更新了,我们只需要更新我们的容器镜像,然后修改 Deployment 里面的 Pod…