3.1. 为 Container 添加环境变量 再前面一章中, 我们已经完成了 Deployment, Service, Ingress 和 Kustomization API 的封装。 并通过 cobra 库创建了属于我们自己的 kustz 命令。 然而 kustz 的功能还简陋。 今天我们就先来为容器添加环境变量。 为容器设置环境变量 在官方文档中, 提高了两种为容器设置环境变量的方法 https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ env: 提供 k-v 模式 键值对。 值可以直接 value 提供。 也可以通过 valueFrom 从 secret……
阅读全文
3.2. ConfigMap 和 Secret 的生成器 上一节我们通过 k-v 和 YAML文件 为容器添加环境变量。 同时也提到了可以通过 envFrom 这个关键字, 直接读取 ConfigMap 或 Secret 中的 k-v 作为容器的环境变量。 除了环境变量之外, ConfigMap 和 Secret 还能管理的东西还很多。 所以我个人觉得单应用管理部署的话, 对于配置的管理,还是比较重要的。 Kustomize 中的 ConfigMap Env File 在 kustzomize 中, ConfigMap 和 Secret 都……
阅读全文
3.3. 注入 ConfigMap 和 Secrets 到容器环境变量 大家好, 我是老麦。 一个运维小学生。 有了前面两张的铺垫, 今天这个很简单。 我们说说另外一种为容器注入环境变量的方式。 容器变量注入 EnvFrom 前面我们提到过, Container 有两种方式定义环境变量, 其中一种就是 envFrom, 从 ConfigMap 或 Secret 中读取所有键值对作为容器的变量。 ConfigMap 和 Secret 看起来是这样……
阅读全文
3.4. 用字符串定义容器申请资源上下限 Pod 的资源申请, 在调度策略中, 是一个重要的参数数据。 因此其重要性自然不必多说 容器资源申请 在官网中, 对于资源的申请和管理有详细的描述。 https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/ 和 服务质量 QoS 息息相关, https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/quality-service-pod/ 这里简单的归类, 可以速记, 按照服务质量高到低 Guaranteed: request = limit Burstable: request < limit BestEffort: 没有 request 和 limit kustz.yml 配置 还是先来看看 kustz.yml……
阅读全文
3.5. 为 Container 添加健康检查方法 kustz 终于到了准生产的地步了。 今天的健康检查接口, 就为我们解决这个问题。 我们要知道, 确定一个应用能不能对外提供服务之前, 需要进行一个 可用性 检测。 而这个检测通常被我们称为 健康检查。 Kubernetes 的健康检查 在 Kubernetes 中, 为我们提供了 主要 的 3类状态 的健康检查。 startup: 等待探针。 如果执行成功,……
阅读全文
3.6. 镜像拉取鉴权和策略 今天我们解决镜像拉取鉴权和策略 镜像拉取鉴权 拉取私有镜像或私有仓库镜像的时候, 需要提供鉴权信息。 在 Kubernets 中, 通过 Secret 管理账号这些账号信息。 Secret 类型分为两种, kubernetes.io/dockerconfigjson: 如果有linux安装了 docker, 就是 ~/.docker/config.json 这个文件。 kubernetes.io/dockercfg: 不太熟。 在 /pkg/tokube/pod.go 中, 可以看到 ImagePullSecrets 的处理方法。 就是将字符串转为 kubernetes 的……
阅读全文
4.1. 使用 cobrautils 为命令添加更实用的命令参数 之前的章节, 我们陆陆续续给 kustz 库添加了很多丰富服务的配置 但 kustz 命令, 还是处于一个很原始的命令状态。 接下来我们给 kustz 添加一些更丰富的参数 , 使 kustz 用起来更顺手。 在 CICD 的中, 一般情况下 变量,健康检查, 镜像策略 等很难发生变动。 而镜像名称 经常性 的在每次打包后发生变化……
阅读全文
怎么在 Kustomize 中添加多行变量 原文链接: https://tangx.in/posts/2023/01/05/how-to-create-multiple-line-variables-in-kustomize/ kustomize 是 k8s 官方出的一个 应用管理工具 , 说起来还是很好用的。 可以参考 k8s 部署工具 kustomize 的实用小技巧 Kustomize 中的 ConfigMap/Secrets Generator 在配置管理方面, kustomize 为我们提供了 Generator 帮助我们管理配置文件。 提供了三个 API 模块 files: 通过 文件 生成 文件 literals: 通过文字 字面量 k=v 生成 k=v 数据 envs: 通过 文件 生成 k=v 数据。 这个应该是 files 和……
阅读全文
Hugo 网站优化(9): 实施更新与缓存加速兼顾, 使用 Github Action 主动预热 CDN 缓存 原文链接: https://tangx.in/posts/2023/01/04/hugo-qcloud-cdn-purge-and-push/ Github Page 实现的 纯静态 网站加 CDN 就是麻烦。 缓存时间设置短了, 回源网站打开慢。 缓存时间设置长了, 发布新文章又很长时间无法展示。 于是, 我又盯上了 Github Action 的实现发布文章后主动预热网站, 这样在 CDN 中的缓存配置就更通用了。 实际上……
阅读全文
Hugo 网站优化(8): 书房装上了小电视, 使用 hugo shortcodes 支持 bilibili 视频播放 原文链接: https://tangx.in/posts/2023/01/04/hugo-bilibili-support/ 在学习的时候希望资料和笔记内容都能在一起。 这样 查阅、回顾 起来就更方便了。 hugo 短代码(shortcodes) 模版 在搜索的时候, 找到 利用hugo的短代码功能插入b站视频并且自适应 了这篇文章, 实现了嵌入 Bilibili 的播放器。 进一……
阅读全文