
음...왜? k3s를 설치했는데...
노드(node)가 없지???
$ kubectl get node
No resources found


음..왜 노드가 없나?
위 그림이 복잡하지만 핵심은 Node가 없으면 아무것도 할 수 없다는 점~~~!
user $ curl -sfL https://get.k3s.io | sh -
[INFO] Finding release for channel stable
[INFO] Using v1.24.4+k3s1 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.24.4+k3s1/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.24.4+k3s1/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[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] Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[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
test@test:/etc$ kubectl get nodes
WARN[0000] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode to modify kube config permissions
error: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
test@test:/etc$ sudo kubectl get nodes
No resources found
user $ curl -sfL https://get.k3s.io | sh -
이렇게 설치 하면 노드가 보이질 않는다;;;;
그런데 참 희한하다
--docker 옵션을 추가해주면 된다.
--docker
root@test:~# curl -sfL https://get.k3s.io | sh -s - --docker
[INFO] Finding release for channel stable
[INFO] Using v1.24.4+k3s1 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.24.4+k3s1/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.24.4+k3s1/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[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] Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[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
root@test:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
test NotReady <none> 0s v1.24.4+k3s1
--docker 인자를 추가하니까
이제서야 노드가 보입니다.
# kubectl get nodes
NAME STATUS ROLES AGE VERSION
test NotReady <none> 0s v1.24.4+k3s1

드디어 node가 보입니다.
시간이 지나니...ready 상태로 변경되었구요
root@test:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
test Ready control-plane,master 2m11s v1.24.4+k3s1
그런데 일반 유저권한으로는 kubectl이 실행이 안되네요;;
test@test:/$ kubectl get notes
WARN[0000] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode to modify kube config permissions
error: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
/etc/rancher/k3s/k3s.yaml
파일을 읽지 못하여 에러 발생!!!
서버 시작할때
--write-kubeconfig-mode
를 지정하라고 한다.
그런데 다음과 같이
/etc/systemd/system/k3s.service.env
에
K3S_KUBECNFIG_MODE=\"644\"
을 추가하고
root@test:~# echo K3S_KUBECNFIG_MODE=\"644\" >> /etc/systemd/system/k3s.service.env
test@test:/$ sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config \
&& chown $USER ~/.kube/config \
&& chmod 600 ~/.kube/config \
&& echo 'export KUBECONFIG=~/.kube/config' >> ~/.bashrc \
&& source ~/.bashrc
[sudo] test 암호: "
test@test:/$ kubectl get node
NAME STATUS ROLES AGE VERSION
test Ready control-plane,master 137m v1.24.4+k3s1
~/.kube/config 파일을 만들고
현재 사용자가 잘 접근할 수 있도록 권한 설정해면
유저권한으로도 kubectl 이 잘 실행된다는!!!

'kubernetes' 카테고리의 다른 글
| 도대체 service라는 녀석은 뭘까? (0) | 2022.09.25 |
|---|---|
| nginx service LB로 올리기 (0) | 2022.09.21 |
| 왜? pod에 한개의 VSCode만 attach되는 거여? (0) | 2022.07.20 |
| k3s master 설치 on CentOS (0) | 2022.03.21 |
| Visual Studio Code - KUBERNETES 확장으로 파드(POD) 터미널 접 (0) | 2022.03.20 |
