⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 미션 입니다.

[4] Rocky Linux 기본 설정
타임존 설정 확인 (script 적용 명령 : timedatectl set-timezone Asia/Seoul)
timedatectl

[5] kubeadm 설치 전 사전작업
방화벽 해제 확인 (script 적용 명령 : systemctl stop firewalld && systemctl disable firewalld)
# 방화벽 상태 확인 명령어
systemctl status firewalld

→ disabled 로 방화벽이 해제되어 있음을 확인할 수 있다.
스왑 비활성화 확인 (script 적용 명령 : swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab)
free

→ Swap 할당된 자원이 0 으로 비활성화 되어 있음을 확인 할 수 있다.
cat /etc/fstab | grep swap

→ # swap 에 대해서 주석처리가 되어 있음
[6] 컨테이너 런타임 설치
[6-1] 컨테이너 런타임 설치 전 사전작업
iptables 세팅
# 설정 세팅 확인
# 부팅 시 로드할 커널 모듈 목록을 지정하는 파일
cat /etc/modules-load.d/k8s.conf
# 시스템 커널 파라미터(sysctl)를 영구적으로 설정하기 위한 파일
cat /etc/sysctl.d/k8s.conf

# 모듈 적제 확인
lsmod | grep overlay
lsmod | grep br_netfilter

[6-2] 컨테이너 런타임 (containerd 설치)
Kubernetes Docs, Containerd Release
[6-2-1] containerd 패키지 설치 (option2)
[6-2-1-1] docker engine (containerd.io)만 설치
docker repo 설정 확인 (script 적용 명령 : yum install -y yum-utils, yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo)
yum repolist enabled

→ docker-ce-stable : Docker CE Stable - x86_64
containerd 설치 확인 (script 적용 명령 : yum install -y containerd.io-1.6.21-3.1.el8)
systemctl status containerd

→ Active : active (running) 으로 현재 containerd 가 실행되고 있음
설치 가능한 버전의 containerd.io 리스트 확인
yum list containerd.io --showduplicates | sort -r

[6-3] 컨테이너 런타임 (CRI 활성화)
cri 활성화 설정 확인 (스크립트 적용 명령 : containerd config default > /etc/containerd/config.toml; sed -i 's/ SystemdCgroup = false/ SystemdCgroup = true/' /etc/containerd/config.toml)
cat /etc/containerd/config.toml

kubelet cgroup 확인 (configmap)
kubectl get -n kube-system cm kubelet-config -o yaml

kubelet cgroup 확인 (kubelet)
cat /var/lib/kubelet/config.yaml

→ cgroupDriver 가 systemd 로 잘 설정됨
[7] kubeadm 설치
repo 설정 확인
yum repolist enabled

→ repo 중 kubernetes
SELinux 설정 확인
cat /etc/selinux/config

sestatus

kubelet, kubeadm, kubectl 패키지 설치
kubeadm version
kubectl version

→ kubeadm 과 kubectl 모두 버전이 1.27.2
systemctl status kubelet

→ kubelet 상태가 running 으로 정상 동작
cat /var/lib/kubelet/config.yaml

journalctl -u kubelet | tail -10

설치 가능한 버전의 kubeadm 리스트 확인
yum list --showduplicates kubeadm --disableexcludes=kubernetes

[8] kubeadm 으로 클러스터 생성
[8-1] 클러스터 초기화 (Pod Network 세팅)
클러스터 상태 확인
kubectl get node

→ k8s-master 이름의 노드가 Ready 상태
kubectl cluster-info dump | grep -m 1 cluster-cidr

→ pod network cidr 설정 확인
kubectl cluster-info

→ apiserver advertise address 적용 확인
kubectl get pods -n kube-system

→ kubernetes component pod 확인
[8-2] kubectl 사용 설정
인증서 설정 확인
cat ~/.kube/config

[8-3] CNI Plugin 설치 (calico)
calico pod 설치 및 pod netwrok cidr 적용 확인
kubectl get -n calico-system pod

→ calio-system pod 들이 모두 Running
kubectl get -n calico-apiserver pod

→ calio-apiserver 의 pod 들도 모두 Running 으로 잘 실행되고 있음
kubectl get installations.operator.tigera.io default -o yaml | grep cidr

→ Calio 에 pod network cidr 적용됨
[8-4] Master 에 pod 를 생성할 수 있도록 설정
Master Node 에 Taint 해제 확인
kubectl describe nodes | grep Taints

→ Master 에 유저가 만든 Pod 를 올릴 수 있도록 설정됨
[9] 쿠버네티스 편의 기능 설치
[9-1] kubectl 자동완성 기능
cat ~/.bashrc

→ 일부만 치고 tab을 누르면 자동완성 되도록 설정됨
[9-2] Dashboard 설치
kubectl get pod -n kubernetes-dashboard

→ kubernetes-dashboard pod 가 떠있음
[9-3] Metrics Server 설치
kubectl get pod -n kube-system | grep metrics

→ metric 정보를 조회하고, 대시보드에서 CPU 랑 메모리 정보를 확인할 수 있도록 pod 가 실행되어 있다.
kubectl top pod -A

→ 떠있는 pod 들
'🌱 인프런 > ⚓ 쿠버네티스 어나더 클래스 (지상편)' 카테고리의 다른 글
| (5) Probe 이해하기 (1) | 2025.06.02 |
|---|---|
| (4) Object 그려보며 이해하기 (0) | 2025.05.30 |
| (3) 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 (0) | 2025.05.29 |
| (2) 쿠버네티스 무게감 있게 설치하기 (0) | 2025.05.28 |
| (1) 컨테이너 한방 정리 - Linux, Container, Container Orchestration, Kernel, kubelet (0) | 2025.05.27 |