Kubernetes 服务教程
1. 什么是 Kubernetes? 🤔🚀
Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化容器化应用的 部署、扩展和管理。它可以帮助你管理复杂的微服务架构,通过高效的资源调度和自动化管理,让开发和运维团队可以专注于应用的核心功能。🌐
Kubernetes 提供了诸如 自动伸缩、负载均衡、服务发现、自我修复 等强大的功能,使得容器化应用的管理变得更加简单和高效。⚙️
2. 安装 Kubernetes 📥🔧
2.1 环境要求 🌍
Kubernetes 集群由至少两个节点组成:一个 主节点(Master Node)和多个 工作节点(Worker Nodes)。在本教程中,我们将使用 kubeadm
来安装 Kubernetes。
- 操作系统:Ubuntu、CentOS、RHEL、Debian
- CPU:至少 2 核
- 内存:至少 2GB
2.2 安装 Kubernetes 依赖项 🧰
- 在所有节点上,禁用 swap(Kubernetes 要求关闭 swap):
sudo swapoff -a
- 更新 apt 包索引并安装 Docker:
sudo apt update
sudo apt install -y docker.io
- 安装 Kubernetes 的 apt 仓库:
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
- 安装 Kubernetes 工具:
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
- 启用并启动 Docker 和 Kubernetes 服务:
sudo systemctl enable docker
sudo systemctl start docker
- 安装
kubeadm
:
sudo apt install -y kubeadm
2.3 配置 Kubernetes 集群 🖥️🌐
在主节点上使用 kubeadm
初始化 Kubernetes 集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
--pod-network-cidr
:指定 Pod 网络范围,10.244.0.0/16
是 Flannel 网络插件的默认设置。
初始化完成后,执行以下命令以便为当前用户配置 kubeconfig 文件:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.4 安装网络插件 🌐💡
Kubernetes 集群需要一个网络插件来提供容器之间的通信。这里我们使用 Flannel 网络插件。
在主节点上运行以下命令来安装 Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
此命令会安装 Flannel 网络插件,并自动配置所有 Pod 的网络连接。
3. 加入工作节点 🧑💻👥
在工作节点上运行 kubeadm join
命令来将其加入到集群中。在主节点上运行以下命令来获取 join
命令:
kubeadm token create --print-join-command
复制输出的 kubeadm join
命令,然后在工作节点上执行。🚀