K3s
是一个轻量级的 Kubernetes
。由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。本文根据官方文档并结合前辈的相关经验对 k3s + Rancher 的集群搭建过程进行记录。
1 环境准备
本文示例环境:安装了 window 10
的个人笔记本电脑,通过 VMware Workstation 16 Pro
虚拟机创建的 CentOS 7
虚拟主机。虚拟主机的安装创建,本文不做具体展开,有需要的可以自己搜索。
CentOS 需要运行以下命令,关闭 firewalld。
systemctl disable firewalld --now
2 安装 k3s
国内用户,运行以下命令快速安装:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
查看版本号:
k3s --version
查看 k3s 所有 node 的详细信息:
kubectl get node -o wide
查看 pod 状态:
kubectl get pods --all-namespaces
3 安装 Docker
curl https://releases.rancher.com/install-docker/20.10.sh | sh
可以从 GitHub 仓库 中找到 Rancher 所有的 Docker 版本。
4 安装 Helm
从 官网 下载 Helm 最新版本的二进制安装包到本地。
4.1 下载
wget https://get.helm.sh/helm-v3.6.2-linux-amd64.tar.gz
4.2 解压
tar -zxvf helm-v3.6.2-linux-amd64.tar.gz
4.3 移动到/usr/local/bin目录下
mv linux-amd64/helm /usr/local/bin/
4.4 添加 Helm Chart 仓库
helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
helm repo update
5 安装 Rancher
5.1 为 Rancher 创建 Namespace
kubectl create namespace cattle-system
5.2 生成 CA 证书
openssl genrsa -aes256 -passout pass:123456 -out cacerts.pem 2048
5.3 使用私有 CA 签发证书
kubectl -n cattle-system create secret generic tls-ca \
--from-file=cacerts.pem=./cacerts.pem
5.4 安装
helm install rancher rancher-stable/rancher \
--namespace cattle-system \
--set hostname=rancher.lervor.com \
--set ingress.tls.source=secret \
--set privateCA=true
Rancher 默认部署 3 个节点,如果你的集群中少于 3 个节点,你应填写实际节点数量。通过增加参数
--set replicas=3
,并将其中的 3 改成实际节点数量。
执行以上命令可能出现以下错误:
Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version?timeout=32s": dial tcp [::1]:8080: connect: connection refused
其出错原因为:
helm v3 版本不再需要 Tiller,而是直接访问 ApiServer 来与 k8s 交互,通过环境变量 KUBECONFIG 来读取存有 ApiServre 的地址与 token 的配置文件地址,默认地址为 ~/.kube/config
解决方式:
按如下方式手动配置 KUBECONFIG
环境变量后再重新执行安装命令:
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
5.5 修改 host
由于本文环境是在本地内网搭建的 rancher,因此只能通过修改主机的 host 来指定域名,具体是修改 C:\Windows\System32\drivers\etc
文件夹中的 hosts
文件最后增加 192.168.20.128 rancher.lervor.com
映射。
至此,通过 https://rancher.lervor.com
就可以看到 rancher 的操作界面了。
本文中使用的域名
rancher.lervor.com
可以按需修改成自己的域名(不一定是存在的域名)。
特别注意:如果是虚拟主机,至少需要分配
2G 内存 + 2 核 CPU
(建议 3G 内存 + 4 核 CPU
),否则可能因资源不足导致集群启动失败。
版权属于:瞭月
本文链接:https://www.lervor.com/archives/240/
版权声明:本文为瞭月原创文章,转载请附上原文出处链接和本声明。
2 条评论
访问时出现 404 page not found
文中的IP地址“192.168.20.128”需要换成你虚拟机的IP地址。