使用 RKE 搭建单节点集群并安装 Rancher(含 cert-manager 与 ingress-nginx,YAML 部署版)
本文以单节点 192.146.3.134 为例,使用 sslip.io 域名规避 Ingress 的 DNS 校验;镜像统一走国内镜像或你的私有仓库。cert-manager 采用"下载官方 YAML → 按需改镜像 → kubectl apply"的方式;ingress-nginx 采用官方静态清单(baremetal)→ 替换镜像 → kubectl apply。
-
适用 Kubernetes:RKE 1.4.x 默认装的 K8s 1.24/1.25 均可
-
Rancher 版本:v2.9.3
-
cert-manager 版本:v1.12.0(官方 manifest 引用)
- 参考清单(需要能访问 GitHub):cert-manager v1.12.0 manifest
[TOC]
1. 用 RKE 搭建单节点集群
# 安装 rke
wget https://github.com/rancher/rke/releases/download/v1.4.0/rke_linux-amd64 -O rke
chmod +x rke && mv rke /usr/local/bin/rke
# 生成免密 SSH(以 root 为例)
ssh-keygen -t rsa -b 4096 -C "rke-deploy-key" -f /root/.ssh/id_rsa -N ''
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys /root/.ssh/id_rsa
chmod 644 /root/.ssh/id_rsa.pub
chown -R root:root /root/.ssh
# cluster.yml(单节点)
cat > cluster.yml <<EOF
nodes:
- address: 192.168.3.240
user: root
role: [controlplane,etcd,worker]
ssh_key_path: /root/.ssh/id_rsa
EOF
# 初始化集群
rke up --config cluster.yml
安装 kubectl 并配置 kubeconfig:
curl -LO "https://dl.k8s.io/release/v1.24.6/bin/linux/amd64/kubectl"
chmod +x kubectl && mv kubectl /usr/local/bin/
mkdir -p ~/.kube && cp kube_config_cluster.yml ~/.kube/config
kubectl version --client --short
kubectl get nodes -o wide
#命令补全
apt install -y bash-completion
echo 'source <(kubectl completion bash)' >> ~/.bashrc
source ~/.bashrc
2. 安装 cert-manager(YAML 方式)
说明:下载官方清单后,如果你的环境不能访问 quay.io,需要把镜像替换为私有仓库中已同步的镜像路径,再 apply。
# 2.1 创建命名空间
kubectl create namespace cert-manager || true
# 2.2 下载官方清单(v1.12.0)
curl -fsSL -o cert-manager.yaml \
htt