Kubernetes - Deprecating Docker
|Word Count:0|Reading Time:1mins
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2021-06-18
容器编排 -- DaemonSet
Daemon Pod特征 运行在Kubernetes集群的每个Node上 每个Node有且仅有一个Daemon Pod 新Node加入Kubernetes集群,Daemon Pod会自动在新Node上被创建 旧Node被删除后,上面的Daemon Pod也会被回收 场景 网络插件的Agent组件 存储插件的Agent组件 监控组件 + 日志组件 工作原理 循环控制:遍历所有Node,根据Node上是否有被管理Pod的情况,来决定是否需要创建或者删除Pod DaemonSet在创建每个Pod时,做了两件额外的事情 自动给这个Pod加上一个nodeAffinity,来保证该Pod只会在指定节点上启动 自动给这个Pod加上一个Toleration,从而忽略Node上的unschedulable污点 API Object 该DaemonSet管理的是一个fluentd-elasticsearch镜像的Pod fluentd-elasticsearch:通过fluentd将Docker容器里的日志转发到ElasticSearch DaemonSet与Deployment非常类似,只是DaemonSe...

2021-07-12
应用编排与管理 -- Job + CronJob
Job作用 创建一个或多个 Pod 来确保指定数量的 Pod 可以成功地运行终止 跟踪 Pod 状态,根据配置及时重试失败的 Pod 确定依赖关系,保证上一个任务运行完毕后再运行下一个任务 控制任务并行度,并根据配置确保 Pod 队列大小 实践YAML 文件job.yaml123456789101112131415161718apiVersion: batch/v1kind: Jobmetadata: name: pispec: backoffLimit: 4 # 重试次数 template: # Pod Selector spec: containers: - name: pi image: perl ports: null command: - perl - '-Mbignum=bpi' - '-wle' - print bpi(2000) restartP...

2023-02-08
FaaS - Advanced Attributes
公共能力 将函数依赖的公共库提炼到层,以减少部署、更新时的代码包体积 对于支持层功能的运行时,函数计算会将特定的目录添加到运行时语言的依赖包搜索路径中 对于自定义层,需要将所有内容打包到一个压缩包,并上传到函数计算平台 函数计算运行时会将层的内容解压并部署到特定的目录 层功能的好处 函数程序包更小 避免在制作函数 zip 包和依赖项过程中出现未知的错误 可以在多个函数中引入使用,减少不必要的存储资源浪费 上传层之后,函数计算会将层的 zip 包上传到对象存储 当调用函数执行时,会从对象存储中下载层的 zip 包并解压到特定目录 应用程序只需要访问特定目录,就能读取层的依赖和公共代码 注意:后序的层会覆盖相同目录下的文件 快速迭代 标准运行时 / 自定义镜像 函数计算系统初始化执行环境之前,会扮演该函数的服务角色,获得临时用户名和密码并拉取镜像 镜像拉取成功后,会根据指定的启动命令、参数和端口,启动自定义的 HTTP Server 该 HTTP Server 会接管函数计算系统所有请求的调用 调用方式不同:事件函数 / HTTP 函数 在创建函...

2022-07-13
Kubernetes - Pod
描述 操作

2022-12-08
Kubernetes - CNI
网络分类 Type Desc CNI Pod 到 Pod 的网络,Node 到 Pod 的网络 kube-proxy 通过 Service 访问 Ingress 入站流量 基础原则 所有 Pod 能够不通过 NAT 就能互相访问 所有 Node 能够不通过 NAT 就能互相访问 容器内看到的 IP 地址和外部组件看到的容器 IP 是一样的 补充说明 在 Kubernetes 集群,IP 地址是以 Pod 为单位进行分配的,每个 Pod 拥有一个独立的 IP 地址 一个 Pod 内部的所有容器共享一个网络栈,即宿主上的一个 Network Namespace Pod 内的所有容器能够通过 localhost:port 来连接对方 在 Kubernetes 中,提供一个轻量的通用容器网络接口 CNI Container Network Interface,用来设置和删除容器的网络连通性 Container Runtime 通过 CNI 调用网络插件来完成容器的网络设置 插件分类 下面的 Plugin 均由 ContainerNetworking 组维护 IPAM ...
2026-04-29
K8S Orchestration - KRO V2
ResourceGraphDefinitions概述生命周期 写一个 RGD YAML,kro 就帮你把它变成一个完整的 Operator 定义 RGD 是 KRO 中唯一需要你编写的 API 定义 Schema - 用户能看到/配置哪些字段 定义 Resources - 底层要创建哪些 K8s 资源 用 CEL 表达式把 Schema 的值绑定到 Resources 上 执行 apply 这个 RGD 后,kro 全自动完成 生成 CRD - 把你的 Schema 转成真正的 Kubernetes API 注册到 API Server - 集群里立刻就能用 kubectl get Application 这样的命令 监听实例 - 用户创建实例后,kro 按依赖拓扑排序创建底层资源,并持续管理生命周期 How it Works RGD 从定义到运行的 4 步核心流程:你定义蓝图 → kro 造工厂 → 用户下订单 → kro 自动生产 步骤 谁 做什么 1 你 写一个 RGD,定义新的 API(比如 Application) 2 kro 自动生成 CRD,注...
Announcement
Things are always unexpected!






