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 的播放器。 进一……
阅读全文
Kubernetes 不同的升级策略是如何影响服务质量 QoS 的 Deployments#Strategy - Kubernetes 无论采取哪种升级方式, 都应该在容器中使用 probe , 降低业务抖动 Pod 升级策略 .spec.strategy.type 有两种方式可选: RollingUpdate : 滚动升级. .spec.strategy.rollingUpdate.maxUnavailable 最大不可用 , 默认 25% , 即升级期间, 总容器数量为 100%。 循环 删旧扩新 .spec.strategy.rollingUpdate.maxSurge 最大弹性, 默认 30% , 即升级期间, 总容器数量不超过 130%。 循环 扩新删旧……
阅读全文
Pgsql数据库: psql 命令非交互式备份与恢复 通常, 我们在使用 psql 命令的时候, 使用交互式命令, 输入密码, 保证安全。 1 2 3 4 5 # 备份 pg_dump -U root -h 172.17.101.250 -W -d intelliep_event > demo.sql # 登录 psql -U root -h 172.17.101.250 -W -d intelliep_event < demo.sql 非交互式操作 但是在 脚本 中执行备份和恢复的时候, 交互式的输入密码就非常不方便了。 要实现非交互式, 非常简单。 只需要……
阅读全文