0
点赞
收藏
分享

微信扫一扫

安装K3S+Rancher

Sikj_6590 2022-03-31 阅读 28

前提是机器需要能访问互联网。

如果是单机就跑一下命令:

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC="--docker" sh -s - server

如果是主从关系:

Master主机​:

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC="--docker" sh -s - server

从:​Master主机执行命令,执行完成后获取master主机的K3S_TOKEN用于slave(默认路径:/var/lib/rancher/k3s/server/node-token)

slave主机执行命令,加入K3S集群

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--docker" K3S_URL=https://主机IP:6443 K3S_TOKEN=K10bb35019b1669197e06f97b6c14bb3b3c7c7076cd20afe1f550d6793d02b9eed8::server:9599c8b3ffbbd38b7721207183cd6a62 sh -

如果是不能连接互联网的话,下载k3s的脚本和tar.gz

​​https://github.com/k3s-io/k3s/releases​​

  • 离线镜像:k3s-airgap-images-amd64.tar.gz
  • 二进制文件:k3s

使用的 v1.22.7+k3s1 版本下载地址:


离线镜像:https://github.com/k3s-io/k3s/releases/download/v1.22.7%2Bk3s1/k3s-airgap-images-amd64.tar.gz

二进制文件:https://github.com/k3s-io/k3s/releases/download/v1.22.7%2Bk3s1/k3s

#cd k3s​​
​​# 解压文件​​
​​gzip -d k3s-airgap-images-amd64.tar.gz​​

​​# 将 tar 文件放到 images 目录下​​
​​sudo mkdir -p /var/lib/rancher/k3s/agent/images/​​
​​sudo cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/​​

​​# 将二进制文件放在每个节点的 /usr/local/bin 中​​
​​sudo cp k3s /usr/local/bin​​
​​# 授予可执行权限​​
​​sudo chmod +x /usr/local/bin/k3s​​

​​# 下载 K3s 安装脚本,并命名为 install_k3s.sh​​
​​wget -c -O install_k3s.sh https://get.k3s.io​​(可提前下载好)
​​# 授予可执行权限​​
​​chmod +x ./install_k3s.sh​​

然后

单节点

# 在k3s-s01执行​​
​​# --advertise-address 需替换为server节点配置的IP ​​
​​$ INSTALL_K3S_SKIP_DOWNLOAD=true K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="--advertise-address 192.168.3.30" ./install_k3s.sh ​​
​​# [INFO] Skipping k3s download and verify​​
​​# [INFO] Skipping installation of SELinux RPM​​
​​# [INFO] Creating /usr/local/bin/kubectl symlink to k3s​​
​​# [INFO] Creating /usr/local/bin/crictl symlink to k3s​​
​​# [INFO] Creating /usr/local/bin/ctr symlink to k3s​​
​​# [INFO] Creating killall script /usr/local/bin/k3s-killall.sh​​
​​# [INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh​​
​​# [INFO] env: Creating environment file /etc/systemd/system/k3s.service.env​​
​​# [INFO] systemd: Creating service file /etc/systemd/system/k3s.service​​
​​# [INFO] systemd: Enabling k3s unit​​
​​# Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → # /etc/systemd/system/k3s.service.​​
​​# [INFO] systemd: Starting k3s

查看集群状态:

$ kubectl cluster-info

Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

当集群状态全部 ​running​ 后,查看节点状态:

$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k3s-s01 Ready control-plane,master 37s v1.22.7+k3s1 10.0.2.15 <none> Ubuntu 20.04.3 LTS 5.4.0-90-generic containerd://1.5.9-k3s1

有主从:

查看添加 worker 节点使用的 token:

$ sudo cat /var/lib/rancher/k3s/server/node-token
# K10e903b153e357f6de73205841342678d142f2df0c2f46d7a3205350a214329d1d::server:078...950

从机

# 在 k3s-node-1 执行:
$ INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://192.168.3.30:6443 K3S_TOKEN=K10...d1d::server:078...950 INSTALL_K3S_EXEC="--node-ip 192.168.3.31" ./install_k3s.sh

# 在 k3s-node-2 执行:
$ INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://192.168.3.30:6443 K3S_TOKEN=K10...d1d::server:078...950 INSTALL_K3S_EXEC="--node-ip 192.168.3.32" ./install_k3s.sh
# [INFO] Skipping k3s download and verify
# [INFO] Skipping installation of SELinux RPM
# [INFO] Creating /usr/local/bin/kubectl symlink to k3s
# [INFO] Creating /usr/local/bin/crictl symlink to k3s
# [INFO] Creating /usr/local/bin/ctr symlink to k3s
# [INFO] Creating killall script /usr/local/bin/k3s-killall.sh
# [INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
# [INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
# [INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
# [INFO] systemd: Enabling k3s-agent unit
# Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
# [INFO] systemd: Starting k3s-agent

查看节点状态,看是否有报错:

$ sudo systemctl status k3s-agent

集群访问

存储在 ​​/etc/rancher/k3s/k3s.yaml​​ 的 kubeconfig 文件用于对 Kubernetes 集群的访问。

设置 kubectl 使用的上下文环境变量:

$ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

查看节点状态:

$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k3s-node-1 Ready <none> 8m58s v1.22.7+k3s1 192.168.3.31 <none> Ubuntu 20.04.3 LTS 5.4.0-90-generic containerd://1.5.9-k3s1
k3s-node-2 Ready <none> 3m33s v1.22.7+k3s1 192.168.3.32 <none> Ubuntu 20.04.3 LTS 5.4.0-90-generic containerd://1.5.9-k3s1
k3s-s01 Ready control-plane,master 16m v1.22.7+k3s1 10.0.2.15 <none> Ubuntu 20.04.3 LTS 5.4.0-90-generic containerd://1.5.9-k3s1

查看是否安装良好:

kubectl get pod -o wide --all-namespaces

举报

相关推荐

0 条评论