运维

Kubernetes 基础概念与集群部署

Kubernetes(k8s)是一个容器编排系统,简单而言用来管一堆容器。k8s 的有效部署称为 k8s 集群。网上都用的 CentOS,考虑到它被弃坑,我用 Ubuntu 20 演示。 环境 四个 2C2G 阿里云 ECS,放在一个私网。 都是 Ubuntu 系统。 基础概念 K8S 集群的工作方式:X Master Node + Y Worker Node. 如果 Master 节点 down 了,可以通过选举或者其他策略选出新的 master. 集群可以分为两部分:Control Plane 和 Nodes. 二者之间通过 API server 交互。直接发生交互的是 api 和 kubelet(相当于 Node 内的组长)。kube-proxy 负责应用间所有的访问,类似计网中的路由器。不同 node 的 kube-proxy 之间会进行通信,串通消息。kube-controller-manager 是一个守护进程,用于调节系统状态。 Node 内部可以运行多个应用,调度信息通过 kubelet 与 master 交换。 而无论是 Master Node 还是 Worker Node,都是在容器中运行。 凌驾于整个集群之上的,则是 kubectl,用于启动整个集群。 部署和安装 题外话 实际工程中很可能不需要我们如此细致地部署,并且公司会提供镜像仓库乃至专线,不容易被 GFW 搞坏心态。另外如果推荐阅读阿里云的教程:自建K8S集群迁移ACK弹性裸金属集群。 总览 使用部署工具安装 Kubernetes | Kubernetes Read more...
1 of 1