Kubernetes - YAML
|Word Count:14|Reading Time:1mins
YAML
API 对象
列表 + 诊断
描述
文档 + 模板
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2023-02-15
FaaS - Workflow

2021-06-17
容器编排 -- StatefulSet(原理)
背景 Deployment的短板:Deployment认为一个应用的所有Pod,是完全一样的 有状态应用(Stateful Application) 实例之间有不对等的关系 – 拓扑 实例对外部数据有依赖关系 – 存储 StatefulSet Kubernetes在Deployment的基础上,扩展出对有状态应用的初步支持 StatefulSet是Kubernetes在作业编排的集大成者 状态抽象 分类 拓扑状态:应用的多个实例之间是不完全对等的关系 存储状态:应用的多个实例分别绑定了不同的存储数据 核心功能:通过某种方式记录状态,然后在Pod被重新创建时,能够为新Pod恢复这些状态 设计思想 StatefulSet是一种特殊的Deployment,独特之处:为每个Pod编号(代表创建顺序、网络标识等) 编号 + Headless Service ==> 拓扑状态 编号 + Headless Service + PV/PVC ==> 存储状态 拓扑状态 StatefulSet控制器使用Pod模板创建Pod时,对它们进行编...

2021-07-11
应用编排与管理 -- Deployment
作用每个 Deployment 管理一组相同的应用 Pod(相同的一个副本) 实践YAML 文件nginx-deployment123456789101112131415161718192021apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3 # 期望的 Pod 数量 selector: # Pod Selector matchLabels: app: nginx template: # Pod Template metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 查看 Deployment123456789$ kubectl g...

2022-11-08
Kubernetes - Cgroups
Namespace 隔离不完备 在 Linux 内核中,有很多资源和对象是不能被 Namespace 化的,例如时间 如果在容器中使用 settimeofday(2) 的系统调用,整个宿主机的时间都会被修改 Cgroups 在 Linux 中,Cgroups 暴露给用户的操作接口是文件系统 1234567891011121314151617181920$ mount -t cgroupcgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)cgroup on /sys/fs/cgroup/devices typ...

2022-10-29
Kubernetes - Another example
架构 MariaDB ConfigMap maria-cm.yaml12345678910apiVersion: v1kind: ConfigMapmetadata: name: maria-cmdata: DATABASE: 'db' USER: 'wp' PASSWORD: '123' ROOT_PASSWORD: '123' 12$ k apply -f maria-cm.yamlconfigmap/maria-cm created Deployment maria-deploy.yaml1234567891011121314151617181920212223242526apiVersion: apps/v1kind: Deploymentmetadata: name: maria-deploy labels: app: maria-deployspec: replicas: 1 selector: matchLabels: app: maria-deploy ...

2022-12-09
Kubernetes - CSI
运行时存储 运行时存储:镜像只读层 + 容器读写层(写性能不高) 容器启动后,运行时所需文件系统的性能直接影响容器性能 早期 Docker 使用 DeviceMapper 作为容器运行时的存储驱动,因为 OverlayFS 尚未合并进 Linux Kernel 目前 Docker 和 containerd 都默认以 OverlayFS 作为运行时存储驱动 OverlayFS 的性能很好,与操作主机文件的性能几乎一致,比 DeviceMapper 优 20% CSI分类 以插件的形式来实现对不同存储的支持和扩展 Plugin Desc in-tree 代码耦合在 Kubernetes 中,社区不再接受新的 in-tree 存储插件 out-of-tree - FlexVolume - Native Call Kubernetes 通过调用 Node 的本地可执行文件与存储插件进行交互FlexVolume 插件需要 Node 用 root 权限安装插件驱动执行模式跟 CNI 非常类似 out-of-tree - CSI - RPC CSI 通过 RPC 与存储驱动进行交互 ...
Announcement
Things are always unexpected!









