공통

docker 설치

sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker $USER
sudo chmod 666 /var/run/docker.sock
docker ps

SELinux 설치

sudo dnf install -y container-selinux
sudo dnf install -y [<https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/k3s-selinux-1.2-2.el8.noarch.rpm>](<https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/k3s-selinux-1.2-2.el8.noarch.rpm>)

K3s 설치

마스터 노드

curl -sfL <https://get.k3s.io> | sh -

ip 주소 변경

# /etc/systemd/system/k3s.service

# 원본
ExecStart=/usr/local/bin/k3s \\
    server \\

# 변경 후
ExecStart=/usr/local/bin/k3s \\
    server --tls-san 외부ip주소 \\

이후 재실행

sudo systemctl daemon-reload
sudo systemctl restart k3s

config 복사

sudo chmod +r /etc/rancher/k3s/k3s.yaml # amazon-linux-2023 또는 oracle-linux(arm) 등 한정
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(whoami):$(whoami) ~/.kube/config # amazon-linux-2023 또는 oracle-linux(arm) 등 한정
export KUBECONFIG=~/.kube/config # amazon-linux-2023 또는 oracle-linux(arm) 등 한정
sudo chmod +r ~/.kube/config

alias 설정

echo 'source <(kubectl completion bash)' >>~/.bashrc
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

cert-manager 설치

kubectl apply --validate=false -f <https://github.com/jetstack/cert-manager/releases/download/v1.12.3/cert-manager.yaml>

토큰 발급 (워커 노드 연결 시)

cat /var/lib/rancher/k3s/server/node-token