Linux:搭建K3s集群:修订间差异
无编辑摘要 |
|||
(未显示同一用户的15个中间版本) | |||
第11行: | 第11行: | ||
== Install K3s == | == Install K3s == | ||
=== install master === | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
multipass exec k3s-master -- bash -c "curl -sfL https://get.k3s.io | sh -" | multipass exec k3s-master -- bash -c "curl -sfL https://get.k3s.io | sh -" | ||
# instead use shell: | |||
# multipass shell k3s-master | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<pre> | |||
ubuntu@k3s-master:~$ curl -sfL https://get.k3s.io | sh - | |||
[INFO] Finding release for channel stable | |||
[INFO] Using v1.21.4+k3s1 as release | |||
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.21.4+k3s1/sha256sum-amd64.txt | |||
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.21.4+k3s1/k3s | |||
[INFO] Verifying binary download | |||
[INFO] Installing k3s to /usr/local/bin/k3s | |||
[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 | |||
</pre> | |||
a token is stored in master: | |||
<syntaxhighlight lang="java"> | |||
sudo cat /var/lib/rancher/k3s/server/node-token | |||
K1022c02ad526cfd3d77039346d85e68a07849d907d99c1aef2108e63b60806c963::server:2f9f1afcb5e64d7150dab2b519598bc1 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="java"> | |||
TOKEN=$(multipass exec k3s-master sudo cat /var/lib/rancher/k3s/server/node-token) | |||
IP=$(multipass info k3s-master | grep IPv4 | awk '{print $2}') | |||
</syntaxhighlight> | |||
=== install agents=== | |||
<syntaxhighlight lang="bash"> | |||
multipass exec k3s-node01 -- bash -c "curl -sfL https://get.k3s.io | K3S_URL=\"https://$IP:6443\" K3S_TOKEN=\"$TOKEN\" sh -" | |||
multipass exec k3s-node02 -- bash -c "curl -sfL https://get.k3s.io | K3S_URL=\"https://$IP:6443\" K3S_TOKEN=\"$TOKEN\" sh -" | |||
</syntaxhighlight> | |||
== use k8s cluster == | |||
<pre> | |||
__workspace__ multipass exec k3s-master -- bash | |||
ubuntu@k3s-master:~$ sudo kubectl get nodes | |||
NAME STATUS ROLES AGE VERSION | |||
k3s-node01 Ready <none> 14m v1.21.4+k3s1 | |||
k3s-master Ready control-plane,master 29m v1.21.4+k3s1 | |||
k3s-node02 Ready <none> 90s v1.21.4+k3s1 | |||
</pre> | |||
=== access from host === | |||
<syntaxhighlight lang="bash"> | |||
multipass mount tmp k3s-master | |||
multipass mount tmp k3s-master:/home/tmp | |||
</syntaxhighlight> | |||
Notice: Need to set privacy settings | |||
Then copy /etc/rancher/k3s/k3s.yaml, and save to ~/.kube/config, replace ip address to the master node ip. | |||
<syntaxhighlight lang="bash"> | |||
kubectl get pods --all-namespaces | |||
</syntaxhighlight> | |||
[[Image:Multipass-Mac-Privacy.png|400px]] | |||
=== install dashboard === | |||
see: https://docs.rancher.cn/docs/k3s/installation/kube-dashboard/_index | |||
to access, use kubectl in host and proxy. | |||
* see: https://andreipope.github.io/tutorials/create-a-cluster-with-multipass-and-k3s.html | |||
[[Category:Linux/Unix]] | [[Category:Linux/Unix]] |
2021年10月20日 (三) 01:12的最新版本
Prepare VMs by Multipass
multipass find
multipass launch -c 1 -m 1G -d 5G -n k3s-master 20.04
multipass launch -c 1 -m 2G -d 10G -n k3s-node01 20.04
multipass launch -c 1 -m 2G -d 10G -n k3s-node02 20.04
multipass list
multipass info k3s-node01
Install K3s
install master
multipass exec k3s-master -- bash -c "curl -sfL https://get.k3s.io | sh -"
# instead use shell:
# multipass shell k3s-master
ubuntu@k3s-master:~$ curl -sfL https://get.k3s.io | sh - [INFO] Finding release for channel stable [INFO] Using v1.21.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.21.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.21.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [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
a token is stored in master:
sudo cat /var/lib/rancher/k3s/server/node-token
K1022c02ad526cfd3d77039346d85e68a07849d907d99c1aef2108e63b60806c963::server:2f9f1afcb5e64d7150dab2b519598bc1
TOKEN=$(multipass exec k3s-master sudo cat /var/lib/rancher/k3s/server/node-token)
IP=$(multipass info k3s-master | grep IPv4 | awk '{print $2}')
install agents
multipass exec k3s-node01 -- bash -c "curl -sfL https://get.k3s.io | K3S_URL=\"https://$IP:6443\" K3S_TOKEN=\"$TOKEN\" sh -"
multipass exec k3s-node02 -- bash -c "curl -sfL https://get.k3s.io | K3S_URL=\"https://$IP:6443\" K3S_TOKEN=\"$TOKEN\" sh -"
use k8s cluster
__workspace__ multipass exec k3s-master -- bash ubuntu@k3s-master:~$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION k3s-node01 Ready <none> 14m v1.21.4+k3s1 k3s-master Ready control-plane,master 29m v1.21.4+k3s1 k3s-node02 Ready <none> 90s v1.21.4+k3s1
access from host
multipass mount tmp k3s-master
multipass mount tmp k3s-master:/home/tmp
Notice: Need to set privacy settings
Then copy /etc/rancher/k3s/k3s.yaml, and save to ~/.kube/config, replace ip address to the master node ip.
kubectl get pods --all-namespaces
install dashboard
see: https://docs.rancher.cn/docs/k3s/installation/kube-dashboard/_index
to access, use kubectl in host and proxy.