본문 바로가기
개발 이야기/Kubernetes

우분투에 k3s 설치하는 방법

by 농개 2024. 10. 3.
반응형

k3s경량 k8s라고 보면됩니다.

가벼워서 리소스 사용량도 적고, 실제 쿠버네티스와도 비슷합니다.

또한 설치가 간편하여서 쿠버네티스 학습에 좋을 것 같습니다.

이번 포스팅은 Ubuntu 22.04k3s를 설치하는 방법을 정리합니다.

 

목차

    1. 대상 서버에 접근

    대상 서버는 이미 구축되어있다고 가정합니다.

    puttyssh를 이용해 접근합니다.

    $ ssh 유저명@123.123.123.123   # 실제 ip를 입력

     

    2. 간단 설치

    $ curl -sfL https://get.k3s.io | sh -
    [sudo] password for usss1:
    [INFO]  Finding release for channel stable
    [INFO]  Using v1.30.5+k3s1 as release
    [INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.30.5+k3s1/sha256sum-amd64.txt
    ...(생략)

    위와 같이 간단하게 설치할 수 있습니다.

     

    3. 확인

    $ systemctl status k3s
    ● k3s.service - Lightweight Kubernetes
         Loaded: loaded (/etc/systemd/system/k3s.service; enabled; preset: enabled)
         Active: active (running) since Thu 2024-10-03 15:50:37 KST; 14s ago
           Docs: https://k3s.io
           ...(생략)

    잘 설치 되었음을 확인 할 수 있습니다.

     

    4. 파드 등 확인

    $ sudo kubectl get all -n kube-system
    NAME                                          READY   STATUS      RESTARTS   AGE
    pod/coredns-7b98449c4-bkllx                   1/1     Running     0          37s
    pod/helm-install-traefik-crd-ngzxz            0/1     Completed   0          37s
    pod/helm-install-traefik-fjfqm                0/1     Completed   1          37s
    pod/local-path-provisioner-6795b5f9d8-j77kn   1/1     Running     0          37s
    pod/metrics-server-cdcc87586-72fw8            1/1     Running     0          37s
    pod/svclb-traefik-4c6725c4-wdllt              2/2     Running     0          14s
    pod/traefik-67f6c94c47-745zn                  0/1     Running     0          14s
    ...(생략)

     

    파드도 잘 떴네요.

     

    5. sudo 없이 kubectl 사용 하기

    $ sudo chmod 644 /etc/rancher/k3s/k3s.yaml

    위와 같이 간단하게 가능합니다.

    다만, 재부팅 시 마다 초기화 되는데요.

     

    하여 아래처럼 사용자 계정을 위한 설정을 해줍니다.

    $ sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
    $ chown $USER ~/.kube/config
    $ chmod 600 ~/.kube/config
    $ export KUBECONFIG=~/.kube/config

     

     

    6. 필요없는 컨트롤러 제거

    위 간단 설치를 하게 되면 디폴트로 traefik 컨트롤러가 설치됩니다.

    이는 ingress controller의 한 종류인데요. nginx ingress controller를 사용한다면 필요가 없을 것입니다.

    이를 지워보겠습니다.

     

    $ curl -sfL https://get.k3s.io  | INSTALL_K3S_EXEC="--disable=traefik" sh -
    [INFO]  Finding release for channel stable
    [INFO]  Using v1.30.5+k3s1 as release
    [INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.30.5+k3s1/sha256sum-amd64.txt
    ...(생략)

     

    몇 초의 시간이 흐른뒤 다시 pod를 조회해보면 traefik 에 대한 리소스는 사라진 것을 확인 할 수 있습니다.

     

    반응형