云计算百科
云计算领域专业知识百科平台

凡人修云传(十三:凡人风起K8s)

文章目录

  • 1. K8s是什么
    • 1.1 K8s的功能
    • 1.2 kubeadm(集群安装工具)
  • 2. K8s组件
    • 2.1 控制平面
    • 2.2 工作节点
    • 2.3 插件
    • 2.4 标签

1. K8s是什么

容器是打包和运行应用程序的最佳方式。 在生产环境中,我们需要管理运行着应用程序的容器,并确保服务不会下线。 例如,如果某个 容器一旦发生故障,那就需要启动另一个容器来替代,这些操作如果交由系统自动处理而不是人 工处理,那无疑会是非常简单与高效的。 所以,这就是Kubernetes要来做的事情, Kubernetes提供了一个可弹性运行分布式系统的框架

1.1 K8s的功能

服务发现和负载均衡 (用 DNS 名称或 IP 暴露容器,自动分配流量)

存储编排 (自动挂载本地存储、公有云存储等)

自动部署和回滚 (描述期望状态,自动将实际状态改为期望状态)

自动装箱 (根据 CPU/内存需求自动调度容器到合适节点)

自我修复 (重启故障容器,替换失效节点,杀死不健康容器)

密钥与配置管理 (存储密码、令牌等敏感信息,无需重建镜像)

批处理执行 (管理 CI/CD 和批处理工作负载)

1.2 kubeadm(集群安装工具)

kubeadm可以快速搭建标准 K8s 集群: 控制平面: 拉取控制平面组件镜像(kube-apiserver、kube-controller-manager、kube-scheduler、etcd) 生成所有证书和配置文件 启动静态 Pod(放在 /etc/kubernetes/manifests/) 配置 kubelet 工作节点: 工作节点配置 kubelet 下载证书信息 向 API Server 注册节点 启动 kube-proxy

2. K8s组件

K8s架构分为控制平面和工作节点

2.1 控制平面

组件功能
kube-apiserver 暴露 Kubernetes API,控制平面前端,可水平扩展
etcd 一致、高可用的键值存储,保存所有集群数据
kube-scheduler 监视新 Pod,为其选择运行节点(考虑资源、约束、亲和性等)
kube-controller-manager 运行各种控制器(节点、Job、EndpointSlice、ServiceAccount 等)
cloud-controller-manager 连接云提供商 API,区分云平台交互和集群交互组件

2.2 工作节点

组件功能
kubelet 确保容器在 Pod 中正常运行,获取 Pod 规范并执行
kube-proxy 网络代理,维护网络规则,实现 Service 功能(可选,可被网络插件替代)
容器运行时(CRI) 管理容器的执行和生命周期(containerd、CRI-O 等)

2.3 插件

插件使用Kubernetes 资源(如守护进程集(DaemonSet)、部署(Deployment)等)来实现集群 功能。由于这些插件提供的是集群级别的功能,所以插件的命名空间资源属于kube-system命名 空间。常见的有Calico,Gateway API,CoreDNS

2.4 标签

标签(labels)是附加到K8s对象上的键值对,不对资源的功能有所影 响,主要用于对资源进行标记,从而实现资源的管理和筛选 在yaml文件的metadata模块下,一般默认app 应用 env 环境

赞(0)
未经允许不得转载:网硕互联帮助中心 » 凡人修云传(十三:凡人风起K8s)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!