【k8s】什么是k8s


这是我父亲 日记里的文字

这是他的生命 留下留下来的散文诗

几十年后 我看着泪流不止

可我的父亲已经 老得像一个影子

🎵 许飞《父亲写的散文诗》


Kubernetes,常被简称为K8s,是一个开源的容器编排平台,最初由Google设计并开发,现在由Cloud Native Computing Foundation(CNCF)维护。Kubernetes旨在帮助用户自动化部署、扩展和管理容器化应用程序。

Kubernetes 的核心概念

1. 节点(Node)

节点是Kubernetes集群中的一台虚拟机或物理机,每个节点都包含运行Pod所需的必要服务,包括容器运行时(如Docker)、Kubelet和Kube-proxy。

2. Pod

Pod是Kubernetes中的最小部署单元,一个Pod可以包含一个或多个容器。这些容器共享网络命名空间、存储卷和配置数据。Pod中的所有容器一起作为一个应用实例运行。

3. 控制器(Controller)

控制器是Kubernetes中的核心组件之一,用于管理Pod和其他对象的状态。常见的控制器包括:

  • Deployment:管理无状态应用的Pod副本。
  • StatefulSet:管理有状态应用的Pod副本,确保Pod的顺序和持久性。
  • DaemonSet:确保所有或一些节点上运行一个Pod副本。
  • ReplicaSet:确保指定数量的Pod副本在集群中运行。
4. 服务(Service)

服务是Kubernetes中一种稳定的网络端点,用于将一组Pod暴露为网络服务。服务定义了Pod的逻辑集合,并提供了负载均衡和服务发现功能。

5. 配置和存储
  • ConfigMap:用于存储非机密的配置数据。
  • Secret:用于存储敏感信息,例如密码、OAuth令牌和SSH密钥。
  • PersistentVolume(PV):集群中预配置的存储资源。
  • PersistentVolumeClaim(PVC):用户对存储资源的请求。

Kubernetes 的架构

1. 主节点(Master Node)

主节点负责管理集群,包括调度、控制和监视所有的工作节点。主要组件包括:

API Server:集群的前端,所有的操作都通过API Server进行。

Scheduler:负责将Pod分配到适当的节点上。

Controller Manager:运行控制器以调节集群的状态。

etcd:分布式键值存储,用于存储集群的所有数据。

2. 工作节点(Worker Node)

工作节点运行Pod,并由主节点管理。主要组件包括:

  • Kubelet:负责在节点上运行和管理Pod。
  • Kube-proxy:负责维护网络规则,允许Pod间通信。
  • Container Runtime:运行和管理容器的环境,如Docker、containerd等。

Kubernetes 的功能和优势

1. 自动化部署和管理

Kubernetes可以自动化应用程序的部署、管理和扩展。通过定义期望状态,Kubernetes可以自动调整实际状态与期望状态一致。

2. 水平扩展

Kubernetes可以根据负载情况自动扩展或缩减应用程序的实例数量,以保证应用程序的高可用性和性能。

3. 负载均衡

Kubernetes可以自动分配网络流量到不同的Pod实例,提供负载均衡功能,确保应用程序的可靠性和可用性。

4. 自愈能力

当Pod或节点出现故障时,Kubernetes可以自动重启或重新调度这些实例,以确保应用程序的持续运行。

5. 滚动更新和回滚

Kubernetes支持无中断的应用程序更新,同时提供回滚机制,确保在出现问题时能够快速恢复到稳定版本。

结论

Kubernetes作为一个强大且灵活的容器编排平台,已经成为现代应用程序部署和管理的标准。它提供了丰富的功能和工具,使得开发者和运维人员能够高效地管理复杂的容器化应用环境。如果你正在寻找一种可靠的方式来自动化管理容器,Kubernetes无疑是一个值得深入学习和应用的选择。

相关推荐
❀͜͡傀儡师6 小时前
Docker部署搜索引擎SearXNG
运维·docker·容器·searxng
泡沫冰@6 小时前
K8S集群管理(3)
云原生·容器·kubernetes
麦兜*6 小时前
MongoDB 常见错误解决方案:从连接失败到主从同步问题
java·数据库·spring boot·redis·mongodb·容器
LQ深蹲不写BUG8 小时前
微服务事务管理利器:Seata 核心原理与实践指南
微服务·云原生·架构
nathan05298 小时前
Kubernetes 实战练习指南
云原生·容器·kubernetes
無名之輩9 小时前
Nvidia Device Plugin入门二之envvar策略
kubernetes
云和数据.ChenGuang11 小时前
微服务技术栈
微服务·云原生·架构
syty202011 小时前
K8s是什么
容器·kubernetes·dubbo
江团1io012 小时前
微服务雪崩问题与系统性防御方案
微服务·云原生·架构
Evan Wang13 小时前
使用Terraform管理阿里云基础设施
阿里云·云原生·terraform