前提条件
- 2台2c4u20g的云服务器(最低配置)
- dns域名
- 域名备案
- Ubuntun 系统
- docker 最新版本
安装docker
shell
# 更新 apt 包索引
sudo apt-get update
# 安装 apt 依赖包,用于通过HTTPS来获取仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
# 使用以下指令设置稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"
#更新 apt 包索引
sudo apt-get update
# 安装最新版本的 Docker Engine-Community 和 containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
安装helm
shell
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
安装k3s
shell
## 国内安装k3s
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | sh -s - server --token=<这里是token> --datastore-endpoint="mysql://<用户名字>:<用户密码>@tcp(<mysqlIP>:3306)/<datebase name>" --with-node-id --node-taint CriticalAddonsOnly=true:NoExecute
# --with-node-id 安装时唯一id 不然每个节点上都会部署一样的项目
# --node-taint CriticalAddonsOnly=true:NoExecute 主节点上不放业务pod,只负责调度,其实没必要,具体可以看官网
# 查看主节点token
cat /var/lib/rancher/k3s/server/token
## 从节点
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=<dns 域名>:6443 K3S_TOKEN=<K3S_TOKEN> sh -
安装rancher
shell
# 安装rancher
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
kubectl create namespace cattle-system
# v2.7 时间长久的话 要注意版本号
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v2.7/cert-manager.crds.yaml
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
helm install rancher rancher-latest/rancher --namespace cattle-system --set hostname=rancher.xxx.com --set replicas=1 --set bootstrapPassword=password
# install 如果失败的话 重新安装
helm upgrade --install
# rancher 忘记密码,主系统
kubectl exec -it rancher-65bd74d789-748wj -n cattle-system -- reset-password
一个高可用的k8s环境就算搭建完了。
访问你配置rancher.xxx.com 就可以打开ranher界面了。
快一个月没更新了。。。。。。。。。