1、所以节点执行
cp /tmp/k3s /usr/local/bin/ && chmod 755 /usr/local/bin/k3s
2、所以节点执行
chmod +x /tmp/install.sh
3、所以节点添加私有harbor
mkdir -p /etc/rancher/k3s && vim /etc/rancher/k3s/registries.yaml
mirrors:
"docker.io":
endpoint:
- "https://harbor.xxxxx.com"
4、master1 install.sh所在目录执行
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=SECRET INSTALL_K3S_EXEC='server --cluster-init --write-kubeconfig-mode=640 --tls-san=10.0.0.49' ./install.sh
5、master2 install.sh所在目录执行
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=SECRET INSTALL_K3S_EXEC='server --server https://10.0.0.49:6443 --tls-san=10.0.0.49' ./install.sh
6、worker install.sh所在目录执行
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=SECRET INSTALL_K3S_EXEC='agent --server https://10.0.0.49:6443' ./install.sh
7、如需要添加master节点请执行第5步、worker节点执行第6步;
8、参数解释及参考
参考:https://docs.k3s.io/zh/cli/server?_highlight=write&_highlight=mode#%E7%AE%A1%E7%90%86-kubeconfig-%E9%80%89%E9%A1%B9
--server #要连接的 server,用于加入集群
--cluster-init #使用嵌入式 Etcd 初始化新集群
--tls-san #在 TLS 证书上添加其他主机名或 IPv4/IPv6 地址作为 Subject Alternative Name
--write-kubeconfig-mode #使用此模式写入 kubeconfig。kubeconfig 文件归 root 所有,并默认使用 600 模式写入。如果将模式改为 644,主机上的其他非特权用户将能读取它。
9、环境变量解释及参考
参考:https://docs.k3s.io/zh/reference/env-variables?_highlight=install_k3s_skip_download
INSTALL_K3S_SKIP_DOWNLOAD #如果设置为 true 将不会下载 K3s 哈希或二进制文件。
K3S_TOKEN #运行 agent 时,必须设置 K3S_TOKEN
INSTALL_K3S_EXEC #命令选择项目