Rancher 是一个开源的容器管理平台,它提供了一个统一的管理界面来部署和管理 Kubernetes 集群。在 CentOS 上部署 Rancher 可以让企业级用户轻松地管理和扩展他们的 Kubernetes 环境。以下是一份详细的指南,帮助您在 CentOS 上部署 Rancher。
准备工作
在开始之前,请确保您的 CentOS 系统满足以下要求:
- 操作系统:CentOS 7 或更高版本
- 硬件要求:至少 2GB 的 RAM(推荐 4GB 或更高)
- 网络连接:稳定的网络连接
- 系统更新:确保您的系统已更新到最新状态
步骤 1:安装 Docker
Rancher 是基于 Docker 的,因此首先需要在 CentOS 上安装 Docker。
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
步骤 2:安装 Docker Compose
Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d '"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
步骤 3:创建 Kubernetes 集群
使用 kubeadm
工具创建一个单节点 Kubernetes 集群。
sudo yum install -y kubeadm kubelet kubectl
sudo systemctl start kubelet
sudo systemctl enable kubelet
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
执行上述命令后,您将看到一条命令,用于将您的节点添加到集群中。保存这条命令,稍后会用到。
步骤 4:配置 kubeconfig 文件
将当前用户添加到 docker
组,以便无需 sudo 运行 Docker 命令。
sudo usermod -aG docker $(whoami)
newgrp docker
然后,配置 kubeconfig 文件。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
步骤 5:安装 Calico 网络
Calico 是一个开源的网络解决方案,适用于容器化工作负载。
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
步骤 6:部署 Rancher
使用 Docker Compose 部署 Rancher。
docker run -d --name rancher --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
等待 Rancher 容器启动,默认情况下,Rancher 服务将在 80 和 443 端口上运行。
步骤 7:访问 Rancher
步骤 8:添加 Kubernetes 集群
在 Rancher 中添加您的 Kubernetes 集群。
- 登录到 Rancher。
- 点击左侧菜单的 “Kubernetes” 选项。
- 点击 “添加” 按钮并选择 “Kubernetes”。
- 输入集群名称并选择“导入凭据”。
- 复制之前保存的
kubeadm init
命令中的 join 命令,并粘贴到输入框中。 - 点击 “添加” 按钮完成集群的添加。
总结
通过以上步骤,您已经成功在 CentOS 上部署了 Rancher,并添加了您的 Kubernetes 集群。现在,您可以开始使用 Rancher 来管理和扩展您的 Kubernetes 环境。