Kubernetes官网,K8s用于自动部署、扩缩和管理容器化应用程序的开源系统
简介
Kubernetes 也称为 K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。Kubernetes是一个开源的容器编排平台,它被设计用来自动化部署、扩展和管理容器化应用程序。Kubernetes 由 Google 设计并捐赠给 Cloud Native Computing Foundation(CNCF)来维护。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。
Kubernetes官网: https://kubernetes.io/zh-cn/
主要功能和特征
自动化上线和回滚
Kubernetes 会分步骤地将针对应用或其配置的更改上线,同时监视应用程序运行状况以确保你不会同时终止所有实例。如果出现问题,Kubernetes 会为你回滚所作更改。你应该充分利用不断成长的部署方案生态系统。
服务发现与负载均衡
你无需修改应用来使用陌生的服务发现机制。Kubernetes 为每个 Pod 提供了自己的 IP 地址并为一组 Pod 提供一个 DNS 名称,并且可以在它们之间实现负载均衡。
自我修复
重新启动失败的容器,在节点死亡时替换并重新调度容器, 杀死不响应用户定义的健康检查的容器, 并且在它们准备好服务之前不会将它们公布给客户端。
存储编排
自动挂载所选存储系统,包括本地存储、公有云提供商所提供的存储或者诸如 iSCSI 或 NFS 这类网络存储系统。
Secret 和配置管理
部署和更新 Secret 和应用程序的配置而不必重新构建容器镜像, 且不必将软件堆栈配置中的秘密信息暴露出来。
自动装箱
根据资源需求和其他限制自动放置容器,同时避免影响可用性。 将关键性的和尽力而为性质的工作负载进行混合放置,以提高资源利用率并节省更多资源。
批量执行
除了服务之外,Kubernetes 还可以管理你的批处理和 CI 工作负载,在期望时替换掉失效的容器。
IPv4/IPv6 双协议栈
为 Pod 和 Service 分配 IPv4 和 IPv6 地址
水平扩缩
使用一个简单的命令、一个 UI 或基于 CPU 使用情况自动对应用程序进行扩缩。
为扩展性设计
无需更改上游源码即可扩展你的 Kubernetes 集群。
以下是 Kubernetes 的一些关键特性和概念:
1. **容器编排**:Kubernetes 帮助管理容器的生命周期,包括部署、扩展、监控和滚动更新。
2. **服务发现和负载均衡**:Kubernetes 可以使用 DNS 名称或自己的 IP 地址来发现服务,并可以在容器之间自动分配负载。
3. **存储编排**:Kubernetes 为容器提供了持久化存储,并且支持多种类型的存储解决方案,如本地存储、公共云提供商等。
4. **自动部署和回滚**:Kubernetes 可以自动部署容器的新版本,并在出现错误时回滚到之前的版本。
5. **自动完成容器健康检查**:如果一个容器失败,Kubernetes 可以自动替换它。
6. **密钥和配置管理**:Kubernetes 允许你存储和管理敏感信息,如密码、OAuth 令牌和 ssh 密钥。
7. **扩展性**:Kubernetes 可以运行在不同的云平台上,也可以在本地数据中心运行。
8. **自我修复**:Kubernetes 可以检测容器失败并自动重启。
9. **服务发现和负载均衡**:Kubernetes 可以使用 DNS 名称或自己的 IP 地址来发现服务,并可以在容器之间自动分配负载。
10. **跨主机网络**:Kubernetes 允许容器在不同的主机上运行,并提供网络策略来控制这些容器之间的通信。
11. **支持多种容器运行时**:Kubernetes 支持 Docker、containerd、CRI-O 等容器运行时。
12. **资源监控和日志记录**:Kubernetes 提供了资源监控和日志记录的集成。
13. **声明式配置**:Kubernetes 允许你声明你想要的系统状态,Kubernetes 会努力达到这个状态。
Kubernetes 通过一组 API 进行操作,这些 API 允许你以声明式的方式管理你的集群。它的核心组件包括:
– **etcd**:用于存储集群状态的键值存储。
– **kube-apiserver**:API 服务器,为 Kubernetes 提供了 RESTful API。
– **kube-scheduler**:调度器,负责决定将新创建的 Pods 安排在哪个节点上。
– **kube-controller-manager**:控制器管理器,运行控制器进程。
– **cloud-controller-manager**:云控制器管理器,允许将集群操作与云服务提供商集成。
– **kubelet**:在集群中的每台机器上运行的代理,确保容器都运行在 Pod 中。
– **kube-proxy**:网络代理,运行在集群中的每台机器上,维护网络规则,并将传入的连接转发到 Pod。
Kubernetes 通过这些组件和它们之间的交互,提供了一个强大而灵活的平台,用于运行容器化应用程序。
数据评估
本站ai导航提供的Kubernetes都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai导航实际控制,在2024年5月2日 下午10:06收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai导航不承担任何责任。