大家好,欢迎来到IT知识分享网。
1、K8S 是什么?
K8S 的全称为 Kubernetes
k8s的版本有 1.12 1.15 1.17 1.18 1.20 1.22
2、为什么要用 K8S?
K8S是一个开源的容器编排和管理工具,它可以帮助你简化和自动化容器化应用程序的部署、扩展和管理。以下是一些使用 Kubernetes 的主要原因:
- 自动化和简化:Kubernetes 提供了丰富的功能来自动化和简化容器化应用程序的部署、扩展和管理。它可以处理复杂的任务,如负载均衡、自动扩展、故障恢复等,减轻了运维人员的负担。
- 弹性和可伸缩性:Kubernetes 允许你根据负载情况自动扩展应用程序,确保应用程序始终具有足够的资源来满足需求。它还支持水平扩展,可以轻松地添加或删除副本以适应流量的变化。
- 故障容错和自愈能力:Kubernetes 具有故障恢复和自愈能力,能够检测和替换出现故障的容器实例,确保应用程序的高可用性。
- 多云和混合云支持:Kubernetes 可以在多个云提供商之间进行无缝迁移,同时也支持混合云环境,使你能够更灵活地选择和管理你的基础设施。
- 声明式配置和版本控制:Kubernetes 使用声明式配置来定义应用程序的状态,这意味着你只需描述应用程序所需的状态,而无需关心如何达到该状态。此外,Kubernetes 还支持版本控制,可以轻松地回滚或升级应用程序。
- 社区支持和生态系统:Kubernetes 拥有庞大的开源社区和丰富的生态系统,你可以从中获得大量的文档、教程、工具和插件,以及与其他技术和平台的集成。
总的来说,使用 Kubernetes 可以提高应用程序的可靠性、可用性和可扩展性,同时简化了应用程序的部署和管理过程。它是现代化的云原生应用程序开发和运维的重要工具之一。
3、K8S的特性
4、K8S的集群架构与核心组件
Master 组件
可以理解成 API Server 是 K8S 的请求入口服务。API Server 负责接收 K8S 所有请求(来自 UI 界面或者 CLI 命令行工具), 然后根据用户的具体请求,去通知其他组件干活。可以说 API Server 是 K8S 集群架构的大脑。
由一系列控制器组成,通过 API Server 监控整个集群的状态,并确保集群处于预期的工作状态,比如当某个 Node 意外宕机时,Controller Manager 会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态。
API Server 接收到请求创建一批 Pod ,API Server 会让 Controller-manager 按照所预设的模板去创建 Pod,Controller-manager 会通过 API Server 去找 Scheduler 为新创建的 Pod 选择最适合的 Node 节点。比如运行这个 Pod 需要 2C4G 的资源,Scheduler 会通过预选策略过滤掉不满足策略的 Node 节点。Node 节点中还剩多少资源是通过汇报给 API Server 存储在 etcd 里,API Server 会调用一个方法找到 etcd 里所有 Node 节点的剩余资源,再对比 Pod 所需要的资源,如果某个 Node 节点的资源不足或者不满足 预选策略的条件则无法通过预选。预选阶段筛选出的节点,在优选阶段会根据优先策略为通过预选的 Node 节点进行打分排名, 选择得分最高的 Node。例如,资源越富裕、负载越小的 Node 可能具有越高的排名。
配置存储中心
Node 组件
从 Master 节点获取自己节点上 Pod 的期望状态(比如运行什么容器、运行的副本数量、网络或者存储如何配置等), 直接跟容器引擎交互实现容器的生命周期管理,如果自己节点上 Pod 的状态与期望状态不一致,则调用对应的容器平台接口(即 docker 的接口)达到这个状态。
管理镜像和容器的清理工作,保证节点上镜像不会占满磁盘空间,退出的容器不会占用太多资源。
在 K8S 集群中微服务的负载均衡是由 Kube-proxy 实现的。Kube-proxy 是 K8S 集群内部的负载均衡器。它是一个分布式代理服务器,在 K8S 的每个节点上都会运行一个 Kube-proxy 组件。
4、K8S部署(etcd)
二进制搭建 Kubernetes v1.20
sysctl –system
systemctl status etcd
ETCDCTL_API=3 /opt/etcd/bin/etcdctl –cacert=/opt/etcd/ssl/ca.pem –cert=/opt/etcd/ssl/server.pem –key=/opt/etcd/ssl/server-key.pem –endpoints=”https://192.168.88.10:2379,https://192.168.88.12:2379,https://192.168.88.13:2379″ endpoint status –write-out=table
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/133640.html