4. Rocky Linux 기본 설정
타임존 확인
timedatectl
5. kubeadm 설치 전 작업
systemctl status firewalld
swap 확인
free
cat /etc/fstab | grep swap
6. 컨테이너 런타임 설치
6-1) 사전작업
iptables 세팅
# 설정 세팅 확인
[root@k8s-master ~]# cat /etc/modules-load.d/k8s.conf
[root@k8s-master ~]# cat /etc/sysctl.d/k8s.conf
# 모듈 적제 확인
[root@k8s-master ~]# lsmod | grep overlay
[root@k8s-master ~]# lsmod | grep br_netfilter
추가
cgroup
systemd
둘 중 하나로 맞춰야 함!
6-2) 컨테이너 런타임 설치(containerd)
containerd.io: docker가 직접 패키징해서 제공하는 containerd 버전으로 containerd를 그냥 설치하는 것보다 간편하다
runC등의 하위 종속성으로 필요한 패키지를 전부 다운해줌 (최신 Container 버전)
=> 반드시 쿠버네티스와 버전을 맞춰야함
=> 쿠버네티스와 맞는 버전 중에 EOL(End of Life) 확인 - LTS(Long Term Stable)로 사용
=> containerd는 1.6.21 버전을 설치한다.
containerd 설치 확인
systemctl status containerd
설치 가능한 containerd.io 출력
yum list containerd.io --showduplicates | sort -r
6-3) CRI 활성화
* 쿠버네티스 문서에 Kubelet의 Cgroup의 Default가 cgroupfs라고 말씀 드렸는데, 레드햇 계열 리눅스의 경우 systemd를 메인으로 프로세스를 실행시키는 시스템이기 때문에, 쿠버네티스 설치시 Default로 systemd가 세팅됩니다. 이 경우 containerd도 systemd로 변경하여 모두 systemd를 쓰는게 Core 사용에 부담이 없습니다.
-강사님 카페 참고!
# CRI 활성화 확인
cat /etc/containerd/config.toml
toml: Tom's Obvious, Minimal Language 로 사람이 읽기 쉬우면서도 기계도 읽기 쉬워하는 파일 형식
kubelet cgroup확인
kubectl get -n kube-system cm kubelet-config -o yaml
cat /var/lib/kubelet/config.yaml
=> 둘다 systemd로 일치
7.kubeadm 설치
repo 설정 확인
yum repolist enabled
SElinux 설정 확인
cat /etc/selinux/config
sestatus
kubelet, kubeadm, kubectl 패키지 설치
#버전 보기
kubeadm version
kubectl version
#상태 보기
systemctl status kubelet
#설정 파일 위치
cat /var/lib/kubelet/config.yaml
#로그 조회
journalctl -u kubelet | tail -10
yum list --showduplicates kubeadm --disableexcludes=kubernetes
8. kubeadm으로 클러스터 생성
8-1) 클러스터 초기화
# master node 상태확인
kubectl get node
# pod network cidr 설정 확인
kubectl cluster-info dump | grep -m 1 cluster-cidr
# apiserver advertise address 적용 확인
kubectl cluster-info
# kubernetes component pod 확인
kubectl get pods -n kube-system
8-2) kubectl 사용 설정
인증서 설정 확인
cat ~/.kube/config
8-2) CNI Plugin 설치(calico)
calico pod 설치 및 pod network cidr 적용 확인
# Calico Pod 상태 확인
kubectl get -n calico-system pod
kubectl get -n calico-apiserver pod
# Calico에 pod network cidr 적용 확인
kubectl get installations.operator.tigera.io default -o yaml | grep cidr
=> 이상이 있다면 Calico를 삭제 후 재설치
8-4) Master에 Pod를 생성할 수 있도록 설정
=> 일반적으로 Master에 Pod를 생성하지 않기 때문에 Master에는 Pod 설치가 안됨.
=> 그래서 설정을 바꿔주어야 한다
kubectl describe nodes | grep Taints
9. 편의 기능 설치
9-1) kubectl 자동완성 기능
cat ~/.bashrc
9-2) Dashboard 설치
kubectl get pod -n kubernetes-dashboard
9-3) Metrics Server 설치
kubectl get pod -n kube-system | grep metrics
kubectl top pod -A
'인프런 복습 - 쿠버네티스 어나더 클래스' 카테고리의 다른 글
[Sptint1] Object 그려보며 이해하기 (0) | 2025.04.02 |
---|---|
[Sptint1] 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 (0) | 2025.04.01 |
[Sprint1] 쿠버네티스 무게감 있게 설치하기-자원확인 및 설정확인 (0) | 2025.03.29 |
[Sprint1] 쿠버네티스 무게감 있게 설치하기-설치 (0) | 2025.03.29 |
[Sprint1] 컨테이너 한방정리 (0) | 2025.03.28 |