Rancher 是一个容器管理平台,Rancher 简化了使用 Kubernetes 的流程。本节内容是在经过多次安装尝试之后,确认下来的稳定安装步骤
修改 Hostname(可选)
bash
hostnamectl set-hostname master
# Or
hostnamectl set-hostname node-1
123
升级内核(可选)
bash
# 查看内核
uname -sr
# 针对上面参考文章写的安装脚本
sh <(curl -fsSL https://raw.githubusercontent.com/aliuq/shs/main/sh/centos-7.x-update-kernel.sh)
# Or
sh <(curl -fsSL https://aliuq.oss-cn-beijing.aliyuncs.com/centos-7.x-update-kernel.sh)
123456
安装 Docker
bash
# 删除已存在的 docker
sudo yum -y remove docker-*
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# Or
curl -sSL https://get.daocloud.io/docker | sh
# 设置为开机启动,并立即启动
systemctl enable --now docker
# 确认 docker 已经启动
docker ps
1234567891011
Github 加速(可选)
bash
sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts
1
安装 K3S
安装为单节点,不包括负载均衡、DNS 记录和外部 MySQL 数据库
bash
curl -sfL https://get.k3s.io | sh -
# docker
curl -sfL https://get.k3s.io | sh -s - --docker
# 国内
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker
# 确认集群可用
k3s kubectl get nodes
k3s kubectl get pods --all-namespaces
12345678910
安装 Kubectl
bash
wget https://grstatic.oss-cn-shanghai.aliyuncs.com/binary/kubectl -O /usr/bin/kubectl
chmod +x /usr/bin/kubectl
# 查看配置
kubectl version --client --output=yaml
1234
保存 kubeconfig 配置
将 /etc/rancher/k3s/k3s.yaml
文件内的内容,保存到 ~/.kube/config
文件
bash
mkdir ~/.kube
# 复制
cat /etc/rancher/k3s/k3s.yaml >> ~/.kube/config
chmod 600 ~/.kube/config
# 软连接
ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config
123456
安装 Helm
bash
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Or
wget https://pkg.goodrain.com/pkg/helm && chmod +x helm && mv helm /usr/local/bin/
# Or
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
# Or 安装v3.9.0
# 如果访问 get.helm.sh 失败,可以使用下面备份链接
# https://aliuq.oss-cn-beijing.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz
curl -sfO https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
12345678910111213141516
Helm 配置
添加 Helm Chart 仓库
latest
: 建议在尝试新功能时使用。stable
: 建议在生产环境中使用。(推荐)alpha
: 未来版本的实验性预览。
bash
# latest
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
# Or stable
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
# Or alpha
helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
# 国内,<CHART_REPO> 替换为 latest,stable或alpha
helm repo add rancher-<CHART_REPO> http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/<CHART_REPO>
12345678
为 Rancher 创建 Namespace
bash
kubectl create namespace cattle-system
1
安装 cert-manager
bash
# 如果你手动安装了CRD,而不是在Helm安装命令中添加了`--set installCRDs=true`选项,你应该在升级Helm chart之前升级CRD资源。
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml
# 添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io
# 更新本地 Helm chart 仓库缓存
helm repo update
# 安装 cert-manager Helm chart
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.5.1
# 查看
kubectl get pods --namespace cert-manager
1234567891011121314151617
安装 Rancher
bash
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.ssii.cc \
--set replicas=3
# 等待 Rancher 运行
kubectl -n cattle-system rollout status deploy/rancher
1234567
总结
以腾讯云服务器2C4G为例,安装 K3S 和 Rancher 后,内存占用为2.7G左右,且受到腾讯云服务器IO性能限制,容易断连,根据 Rancher 官方文档的K3S 硬件要求,如果要高可用安装,最低内存要求为8G,单节点安装的话,最低内存为4G,在我使用过程中,体验不是很好,如果采用 docker 快速安装,又不适合生产环境,而且重要的一点是 Rancher 对应用的交付体验不是很好,最终还是选择放弃使用 Rancher。
对个人或者小企业来说,考虑到服务器成本和快速交付应用的需求,Rancher 不是一个很好的选择
对大企业或者需要管理多集群多节点来说,服务器配置不成问题,应用交付需要一套规范的流程,那么,Rancher 是个很不错的选择
引用
评论 (0)