前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云原生之路:Kubernetes官方文档学习-2

云原生之路:Kubernetes官方文档学习-2

作者头像
希里安
发布2024-03-07 17:31:25
2800
发布2024-03-07 17:31:25
举报
文章被收录于专栏:希里安希里安

近日见闻

1、 在 2024 年全国两会上,全国政协委员、知乎创始人兼 CEO 周源提交多份提案,重点关注补齐优质中文语料数据短板、激发互联网平台企业创新热情、以高质量技能人才供给推动新质生产力快速发展等内容。--oschina

2、OpenAI 宣布为 ChatGPT 推出了名为 “朗读”( ReadAloud)的新功能。不仅支持 37 种语言,5种声音、还可以自动检测文本语言并进行朗读。

3、前几天马斯克起诉OpenAI的事有回应了。针对被联合创始人和前赞助人埃隆?马斯克起诉一事,OpenAI 在其网站上发布博文作出了回应,称马斯克曾一度希望通过与特斯拉合并来 “绝对控制” 该公司,包括 “多数股权、初始董事会控制权以及担任首席执行官”。--OpenAI

  1. 摘抄:
代码语言:javascript
复制
很多次,我都默默告诫自己,

爱,不是你控制对方的理由,

爱,是你改变自己的动力。

——扎西拉姆·多多

接着上一篇,我们接着来学习k8s的文档,将k8s文档作为一个学习目标,同样去学习如何组织一个技术文档,这是学习过程中收获最大的,比如上个系列中k8s将内容主要分为理论知识、实践任务、快速入门、以及参考资料和贡献路径。如果自己有一个技术作品,就可以按照这个格式去做好一份技术文档的维护了。所以说活到老、学到老、学习永无止境!

文档学习结构

上一篇,讲了文档的大致组成,包括了哪些主要部分,今天我们就按照左侧导航栏的顺序,分别学习一下。

左侧导航栏主要包括如下部分:

文档

这一部分大致的内容上一期介绍了,其余就没什么内容,主要是一个当前文档的版本说明以及历史版本的跳转链接。官方文档[1]

入门

这一部分,分为学习环境、生产环境、最佳实践三个大部分。

学习环境

这一部分就是介绍如何在自己的电脑上创建一个k8s集群并学习,介绍了kubectl、kind、minikub以及kubeadm工具的使用。

生产环境

生产环境这部分,就是官方在你搭建生产环境之前给出的一个官方建议,比如搭建之前需要做哪些考虑,比如可用性,node规模、安全性以及访问管理等。搭建的时候用哪些工具、怎么管理证书、为api服务器配置负载均衡、以及如何分离和备份etcd数据库、搭建多个master节点、跨区运行、工作节点的扩缩容、用户环境的权限隔离等等

总结一下就是:

  • 生产环境必要的考虑:高可用、规模、安全性、自建或托管
  • 控制节点的一些建议(部署、证书、etcd、多控制面)
  • 工作节点的建议(配置、验证、添加节点、扩缩容)
  • 用户环境的建议(认证、鉴权、访问控制、准入控制器)

这些建议基本涵盖了我们在生产环境实际使用的时候遇到的一些关键性问题的思考,所以搭建生产环境集群之前都要进行详细的考虑和对应的方案制定,前期准备越好,后期使用出现故障几率就会降低。

最佳实践

这一部分主要这几个内容:

  • 大规模集群需要注意的事项
  • 运行于多个可用区环境需要注意的
  • 校验节点设置
  • 强制实施pod安全性标准
  • PKI证书和要求有哪些

对于大规模集群需要注意哪些事项,一下是简要的总结:

  • 资源限制
代码语言:javascript
复制
Kubernetes v1.29 单个集群支持的
最大节点数为 5,000。更具体地说,
Kubernetes 旨在适应满足以下所有标准的配置:
- 每个节点的 Pod 数量不超过 110
- 节点数不超过 5,000
- Pod 总数不超过 150,000
- 容器总数不超过 300,000
  • 云服务商资源配额
代码语言:javascript
复制
请求增加云资源的配额,例如:
  计算实例
  CPU
  存储卷
  使用中的 IP 地址
  数据包过滤规则集
  负载均衡数量
  网络子网
  日志流
  • 控制面组件

这个就是实现高可用架构,避免出现单节点故障。

  • etcd存储

这部分就是建议在集群外单独部署一个高可用etcd集群,可以提高性能、可用性以及保证存储安全。

  • 插件资源

在集群上运行多个插件的时候,最好进行资源的限制,这些资源限制适用于插件资源, 就像它们适用于应用程序工作负载一样。因为抹一些插件消耗资源量比默认限制更多,就有可能会被不断杀死。

如何跨多个区(Zone)运行集群

这一部分就是如果跨区域节点部署的话,需要提供一致的服务,这里面官方给了很多建议。

  • 控制面节点

部署master节点的时候,至少选择三个区域、并且将master节点组件全部复制多个副本到至少三个区域,这样就能避免单控制面节点失效的情况!

  • 工作节点

这一部分就是建议可以通过添加区域的标签信息或者设置一种约束,保证副本都运行在不同的可用区域中。

  • 跨区存储

这一部分需要制备PV存储、或者添加区域标签等方法、参考云服务商文档等、保证pvc可以正常使用

  • 网络 这一部分,k8s吱声不提供跨区的网络相关的配置,但是可以使用符合CNI规范的网络插件来配置你的集群的联网。比如使用云服务商提供的LoadBalancer的service等。
  • 失效恢复

这里是搭建完集群要考虑到所有区域的节点会掉线或者宕机、如何去应对,如何去修复,考虑是否运行一个修复性的job,可以让集群恢复正常可用状态,这一部分内容是我们作为一线集群管理员应该着重关注的内容,感兴趣的可以和我多多交流哈!

校验节点设置

这部分内容包括节点一致性测试、节点的前提条件 运行节点一致性测试、针对其他硬件体系结构运行节点一致性测试、运行特定的测试、注意事项。

就是保证所有将要添加入集群的节点符合k8s集群的最低要求。

强制实施 Pod 安全性标准

注意:Pod 安全性准入控制器 尝试替换已被废弃的 PodSecurityPolicies。

配置所有集群名字空间

这一部分内容就是官方建议的一些关于pod安全你的最佳实践。

比如

  • 配置集群的namespace保证对应的空间执行对应的负载类型。
  • 最小特权原则、尽可能的约束负载的权限
  • 采用多种模式的策略,比如Pod 安全性标准准入控制器的 audit 和 warn 模式(mode) 能够在不影响现有负载的前提下,让该控制器更方便地收集关于 Pod 的重要的安全信息。
  • 第三方的项目比如(Kubewarden、Kyverno、OPA Gatekeeper)

PKI证书和要求

这一部分就是k8s证书相关的内容,因为Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果是二进制就需要自己生成相关证书、如果你是使用 kubeadm 安装的 Kubernetes, 则会自动生成集群所需的证书。

所以这里主要介绍:

  • 集群是如何使用证书的
  • 证书存储位置(/etc/kubernetes/pki)
  • 手动配置证书
  • 集群需要的全部证书
  • 证书的路径存放建议
  • 为用户账号配置证书

好了,到了这里基本就介绍完了k8s文档中的文档、入门两个部分的知识了,下一期接着学习概念部分的知识,这将是一个漫长的过程,感谢各位读者的关注和支持。

参考资料

[1]

k8s文档: https://kubernetes.io/zh-cn/docs/home/

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-06,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 希里安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 近日见闻
    • 文档学习结构
      • 文档
        • 入门
          • 学习环境
          • 生产环境
          • 最佳实践
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com