Kubernetes学习周报(第三期 ): Kubernetes 健康检查,如何使用 runc 生成容器

文摘   2024-06-15 17:20   挪威  

往期回顾

Kubernetes学习周报 : 一周好文推荐
Kubernetes学习周报 : 一周好文推荐,K8s 网络请求分析,多集群 Kubernetes 的 7 个注意事项
记一次Kubernetes项目交付经历(某头部保险公司)
SRE岗面试复盘- K8S篇


Kubernetes 健康检查:深入Liveness and Readiness Probe

https://medium.com/@sachinadi424/keeping-kubernetes-healthy-liveness-and-readiness-probe-explained-661757b825ff


本文介绍了 Kubernetes 中活动和就绪探测的概念,它们是 Kubernetes 对应用程序 Pod 执行的运行状况检查,以确保它们正在运行并准备好接收流量。它讨论了两种类型的探测器之间的差异、它们的工作原理以及配置它们的最佳实践。

关键点

  • - 存活探测检查应用程序是否仍在运行,如果存活探测失败,Kubernetes 将重新启动 Pod。

  • - 就绪性探测检查应用程序是否准备好接收流量,如果就绪性探测失败,Kubernetes 将从服务负载均衡器中删除 Pod。

  • - 有三种类型的探测器:HTTP、TCP 和 exec 探测器,HTTP 探测器是大多数应用程序的常见选择。

  • - 配置探测器的最佳实践包括选择正确的探测器类型、设置适当的阈值、选择正确的探测器终结点,以及使用探测器延迟允许容器在探测器开始之前启动。

         

 

   


(零成本)GitOps 管道中的 Kubernetes 资源优化  

https://itnext.io/zero-cost-kubernetes-resource-tuning-in-your-gitops-pipelines-fba02f1dd9da

本文讨论了 Kubernetes 资源管理的挑战,例如过度预配资源、浪费宝贵的配额或阻止部署。它使用开源工具和脚本提供解决方案,以帮助分析资源配额利用率,自动生成资源请求建议,并将建议集成到 GitOps 管道中。

关键点

  • - Kubernetes 资源管理涉及资源配额和 Pod 请求和限制,这可能会导致一些挑战,例如寻找最佳配额设置、避免过度配置以及与各种团队交互以调整配额设置。

  • - 由于达到资源配额限制,可能会发生部署延迟,这可以通过了解资源配额如何与部署策略交互来缓解。

  • - 初始资源分配通常是猜测,本文建议使用 Vertical Pod Autoscaler (VPA) 根据监控 Pod 使用情况自动生成资源请求建议。

  • - 本文提供了用于检查资源配额利用率和生成 VPA 建议的脚本,并讨论了如何将这些建议集成到 GitOps 管道中。

  • - 本文还提到了其他商业解决方案,以便更深入地了解应用程序使用和资源调优建议。

         

 

         

 


简化 Kubernetes 开发过程:您的首选工具指南  

https://semaphoreci.com/blog/kubernetes-development-tools

本文全面分析和比较了六种流行的现代 Kubernetes 本地开发工具:Skaffold、Tilt、Telepresence、Okteto、Docker Compose 和 Garden。它讨论了每种工具的功能、优势和局限性,以帮助开发人员选择最符合其特定要求和开发工作流程的工具。

关键点

  • - Skaffold 可自动执行 Kubernetes 应用程序的开发工作流程,为本地开发和 CI/CD 提供全面的解决方案。

  • - Tilt 通过用户友好的 UI 增强了 Kubernetes 开发人员的体验,但对于更复杂的部署,可能需要额外的设置。

  • - 网真使开发人员能够在本地运行单个服务,同时将其连接到远程 Kubernetes 集群,从而简化开发过程。

  • - Okteto 将内部开发循环转移到集群,通过同步本地和远程环境提供无缝的开发体验。

  • - Docker Compose 虽然不是为 Kubernetes 设计的,但可用于定义和运行多容器应用程序,但可能无法准确表示生产环境。

  • - Garden 简化了云原生开发环境的设置过程,但与其他工具相比,学习曲线更陡峭。

         

 


Kubernetes Secret配置管理  

https://medium.com/squareops/transforming-kubernetes-secret-management-d6c25f776bca

本文讨论了在 Kubernetes 环境中安全管理敏感配置和密钥的重要性,以及将 AWS Secrets Manager 与 External-Secrets Operator 和 Config-Reloader 结合使用如何提供强大的解决方案。

关键点

  • - 需要安全配置和机密管理,以防范外部威胁和内部风险。

  • - Kubernetes 原生密钥管理的局限性,包括有限的访问控制、密钥类型、加密选项和审计功能。

  • - 使用 AWS Secrets Manager 克服这些限制并提供增强的安全功能。

  • - 有关设置 EKS 集群、安装 External-Secrets Operator 和 Config-Reloader 以及与 AWS Secrets Manager 集成的分步指南。

  • - 演示如何在 AWS Secrets Manager 中动态更新密钥,以及如何将更改自动反映在正在运行的应用程序中。


如何在 Openshift 集群中创建服务   

https://medium.com/@rishabhsvats/behind-the-scene-creating-a-service-a0756dccfe4f

本文深入解释了如何在 OpenShift 集群中创建 Service 以公开 Pod 列表。它讨论了 OpenShift 中的不同网络(Pod 网络、服务网络和主机网络),以及 OpenShift SDN(软件定义网络)如何处理 Pod 和外部网络之间的网络。本文还介绍了 kube-proxy 在管理将连接转发到服务端点的规则中的作用。它演练了使用模板创建服务的过程,然后检查为处理服务和 Pod 之间的网络流量而创建的 iptables 规则。

关键点

  • - OpenShift 有不同的网络:Pod 网络、服务网络和主机网络。

  • - OpenShift SDN 是 OpenShift 4.13 中默认的 CNI(容器网络接口)提供程序,用于处理 Pod 的网络。

  • - kube-proxy 负责管理将连接转发到服务端点的规则。

  • - 使用模板创建服务,该模板将单个端点后面的 Pod 抽象化。

  • - iptables 规则用于处理 Service 和 Pod 之间的网络流量,包括负载均衡和伪装。

         

 


Helm Subcharts 如何轻松地迁移到 Argo Rollouts  

    

 

https://faun.pub/how-helm-subcharts-make-the-transition-to-argo-rollouts-a-breeze-aaf160924dbf

关键点

  • - Argo Rollouts 是用于管理 Kubernetes 上高级部署策略的流行工具。

  • - 迁移到 Argo Rollouts 有两种路径:使用 Rollout 覆盖现有 Deployment 或将新 Rollout 对象指向现有 Deployment。使用 Helm 子图的第二种方法是首选方法。

  • - 平台工程团队可以使用 Argo Rollouts CRD 维护一个集中的 Helm Chart,允许服务所有者通过将子图表添加到其现有Chart中来轻松加入。这种方法提供了灵活性、可扩展性和更轻松的配置。

         

 

   


如何使用 runc 生成容器    

         

 

https://medium.com/@rishabhsvats/plumbing-of-spawning-container-with-runc-ed409ac02ae3

本文讨论了如何使用 runc 运行时生成 OCI(开放容器计划)捆绑包并生成容器。它涵盖以下关键点:

关键点

  • - 可以使用 skopeo 命令行实用程序生成 OCI 映像布局规范。这将创建一个包含 Blob、配置文件和 index.json 文件的目录结构。

  • - 可以使用 umoci 工具从 OCI 映像布局生成 OCI 捆绑包。捆绑包包含一个config.json文件和容器的根文件系统。

  • - 通过提供生成的 OCI 包,可以使用 runc 运行时生成容器。需要对 config.json 文件进行一些配置更改,例如将“terminal”设置为 false 并删除“user”部分。

加入知识星球,共同探索云原生学习之旅!

更多K8S学习资料以及SRE学习手册,请扫码关注哦!

云原生SRE
懂点K8S的SRE,关注云原生、DevOps、AI&ChatGPT等技术热点
 最新文章