
참고 유튜브
cpu 2코어 및 램 2기가 이상, 스왑 비활성화


귀여운 쿠버네티스 무리들은 어떻게 구성이 되어있을까요
1. Control plane(master node)

https://docs.docker.com/get-started/get-docker/
자신이 사용하는 OS에 맞춰서 클릭
작성자는 리눅스 cli 사용해서 해당 클릭
GUI 사용자는 docker desktop 클릭

리눅스 중에서도 자신이 사용하는 종류 클릭

버전에 따라서 차이가 있을 수 있으니 확인하기
dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
docker run hello-world
systemctl status docker로 확인함docker --version로도 확인 가능
# 필요한 sysctl 파라미터를 설정하면, 재부팅 후에도 값이 유지
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 재부팅하지 않고 sysctl 파라미터 적용하기
sysctl --system
systemctl stop firewalld
systemctl disable firewalld
kubeadm: 노드에 Kubernetes 설치·초기화하는 공식 도구
kOps: AWS에서 인프라까지 포함해 Kubernetes 클러스터 자동 생성
Kubespray: Ansible 기반으로 다양한 환경에서 Kubernetes 클러스터 자동 배포
kubeadm 사용cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet
selinux 끄기: vi /etc/sysconfig/selinux에서 selinux disabled 설정 후 재기동 필수getenforce로 확인 가능systemctl daemon-reload
systemctl restart kubelet
systemctl enable kubelet
컨테이너 런타임 설정
containerd config default > /etc/containerd/config.toml 명령어 실행 후systemctl restart containerdhttps://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
kubeadm init
join token 저장법
cat > token.txtctl + Ins로 join 명령어 복사shift + Ins로 txt 파일에 붙여넣기ctl + d로 저장mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
이제 kubectl get nodes 하면 status Ready 상태 됨
kubectl get nodes 하면 status Ready 상태 됨source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc