【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无疑是一个值得深入学习和应用的选择。

相关推荐
默 唁4 小时前
win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录
docker·容器
Godlovesea5 小时前
ubuntu安装docker 无法拉取问题
云原生·eureka
计算机毕设定制辅导-无忧学长5 小时前
Docker 与持续集成 / 持续部署(CI/CD)的集成(一)
ci/cd·docker·容器
Yuanymoon6 小时前
Docker 修改配置后无法启动问题
运维·docker·容器
阿猿收手吧!9 小时前
【Docker】Docker中卷的类型、区别及应用
开发语言·docker·容器·eureka
青啊青斯9 小时前
Windows搭建CUDA大模型Docker环境
windows·docker·容器
桂月二二11 小时前
基于Knative的无服务器引擎重构:实现毫秒级冷启动的云原生应用浪潮
云原生·serverless·knative
阿里云大数据AI技术11 小时前
阿里云 MaxCompute MaxQA 开启公测,解锁近实时高效查询体验
大数据·阿里云·云原生·实时数仓·maxcompute
茅坑的小石头11 小时前
CentOS系统docker配置镜像加速registry-mirrors,配置阿里云和道客
运维·docker·容器
喝水塞牙12 小时前
使用docker部署NextChat,使用阿里云、硅机流动、deepseek的apikey
阿里云·docker·容器