文章目录
- 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 环境
网硕互联帮助中心




评论前必须登录!
注册