쿠버네티스 무게감 있게 설치하기 - 구간별 상태 확인
[1-1] 내 PC 네트워크 확인
cmd > ipconfig로 확인
[1-2] 내 PC 자원 확인
작업 관리자 > 성능 탭에서 확인
[1-3] VirtualBox 설치 버전 확인
VirtualBox 실행 > 도움말 > VirtualBox 정보에서 확인
[1-4] Vagrant 설치 버전 확인
cmd > vagrant --version 명령어로 확인
[1-5] 원격 접속 (MobaXterm) 설치 버전 확인
MobaXterm 실행 > Help > About MobaXterm에서 확인
[2-1] VirtualBox VM 확인
VM의 이름 확인
[2-2] 내 VM에 적용된 NAT 확인
k8s_master-node 마우스 우클릭 > 설정 > 네트워크 > 어댑터 1에서 정보 확인
[2-3] 내 VM에 적용된 Host-Only Network 확인
k8s_master-node 마우스 우클릭 > 설정 > 네트워크 > 어댑터 2에서 정보 확인
[2-4] VirtualBox Host-Only cidr 확인
VirtualBox 파일 > 도구 > Network Manager에서 확인
[3-1] Rocky Linux 버전 확인
vagrant up 명령어로 VM 생성 > MobaXterm 세션으로 이동해 k8s-master 원격 접속 > 아래 명령어 실행해 리눅스 버전 확인
[root@k8s-master ~]# cat /etc/*-release
[3-2] Hostname 확인
k8s-master 원격 접속 > 아래 명령어 실행해 hostname 확인
[root@k8s-master ~]# hostname
[3-3], [3-4] Network 확인
k8s-master 원격 접속 > 아래 명령어 실행해 network 확인
[root@k8s-master ~]# ip addr
[3-5] 자원 (cpu, memory) 확인
k8s-master 원격 접속 > 아래 명령어 실행해 자원 확인
[root@k8s-master ~]# lscpu
[root@k8s-master ~]# free -h
cpu 자원 (스크립트에 설정한대로 4코어임을 볼 수 있음)
memory 자원 (스크립트에 설정한대로 6GB임을 볼 수 있음)
[4] Rocky Linux 기본 설정
k8s-master 원격 접속 > 아래 명령어로 타임존 설정 확인
[root@k8s-master ~]# timedatectl
timezone이 스크립트에서 설정한대로 Asia/Seoul로 되어 있는 것을 볼 수 있음.
[5] kubeadm 설치 전 사전 작업
k8s-master 원격 접속 > 아래 명령어로 방화벽 해제 여부 확인
[root@k8s-master ~]# systemctl status firewalld
스크립트에서 설정한대로 방화벽이 disabled 된 것을 볼 수 있음.
k8s-master 원격 접속 > 아래 명령어로 스왑 비활성화 확인
[root@k8s-master ~]# free
[root@k8s-master ~]# cat /etc/fstab | grep swap
스크립트에서 설정한대로 swap이 0으로 된 것을 볼 수 있음.
[6] 컨테이너 런타임 설치
[6-1] 컨테이너 런타임 설치 전 사전 작업
k8s-master 원격 접속 > 아래 명령어로 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
컨테이너 런타임 공식 문서에 따라 iptables 설정에서 확인해야 할 것은 아래와 같다.
- br_netfilter 모듈 로드 확인
- sysctl 구성에서 net.bridge.bridge-nf-call-iptables가 1로 설정되어 있는지 확인
결과에 보면 되어 있는 것을 볼 수 있다.
[6-2] docker engine (containerd.io)만 설치
k8s-master 원격 접속 > 아래 명령어로 docker repo 설정 확인
[root@k8s-master ~]# yum repolist enabled
k8s-master 원격 접속 > 아래 명령어로 containerd 설치 확인
[root@k8s-master ~]# systemctl status containerd
k8s-master 원격 접속 > 아래 명령어로 설치 가능한 버전의 containerd.io 리스트 확인
[root@k8s-master ~]# yum list containerd.io --showduplicates | sort -r
[6-3] 컨테이너 런타임 (CRI 활성화)
k8s-master 원격 접속 > 아래 명령어로 cri 활성화 설정 확인
[root@k8s-master ~]# cat /etc/containerd/config.toml
k8s-master 원격 접속 > 아래 명령어로 kublet cgroup 확인 (configmap)
[root@k8s-master ~]# kubectl get -n kube-system cm kubelet-config -o yaml
k8s-master 원격 접속 > 아래 명령어로 kublet cgroup 확인 (kubelet)
[root@k8s-master ~]# cat /var/lib/kubelet/config.yaml
[7] kubeadm 설치
k8s-master 원격 접속 > 아래 명령어로 repo 설정 확인
[root@k8s-master ~]# yum repolist enabled
k8s-master 원격 접속 > 아래 명령어로 SELinux 설정 확인
[root@k8s-master ~]# cat /etc/selinux/config
[root@k8s-master ~]# sestatus
k8s-master 원격 접속 > 아래 명령어로 kubelet, kubeadm, kubectl 버전, 상태 등 확인
#버전 보기
[root@k8s-master ~]# kubeadm version
[root@k8s-master ~]# kubectl version
#상태 보기
[root@k8s-master ~]# systemctl status kubelet
#설정 파일 위치
[root@k8s-master ~]# cat /var/lib/kubelet/config.yaml
#로그 조회
journalctl -u kubelet | tail -10
kubeadm 버전 확인
kubectl 버전 확인
kubelet 상태 확인
k8s-master 원격 접속 > 아래 명령어로 kubeadm 리스트 확인
[root@k8s-master ~]# yum list --showduplicates kubeadm --disableexcludes=kubernetes
[8] kubeadm 설치
[8-1] 클러스터 초기화 (Pod Network 세팅)
k8s-master 원격 접속 > 아래 명령어로 클러스터 상태 확인
# master node 상태확인
[root@k8s-master ~]# kubectl get node
# pod network cidr 설정 확인
[root@k8s-master ~]# kubectl cluster-info dump | grep -m 1 cluster-cidr
# apiserver advertise address 적용 확인
[root@k8s-master ~]# kubectl cluster-info
# kubernetes component pod 확인
[root@k8s-master ~]# kubectl get pods -n kube-system
[8-2] kubectl 사용 설정
k8s-master 원격 접속 > 아래 명령어로 인증서 설정 확인
[root@k8s-master ~]# cat ~/.kube/config
[8-3] CNI Plugin 설치 (calico)
k8s-master 원격 접속 > 아래 명령어로 calico pod 상태 확인 및 pod network cidr 적용 확인
# Calico Pod 상태 확인
[root@k8s-master ~]# kubectl get -n calico-system pod
[root@k8s-master ~]# kubectl get -n calico-apiserver pod
# Calico에 pod network cidr 적용 확인
[root@k8s-master ~]# kubectl get installations.operator.tigera.io default -o yaml | grep cidr
[8-4] Master 에 pod 생성할 수 있도록 설정
k8s-master 원격 접속 > 아래 명령어로 Master Node에 Taint 해제 확인
[root@k8s-master ~]# kubectl describe nodes | grep Taints
[9] 쿠버네티스 편의 기능 설치
[9-1] kubectl 자동 완성 기능
k8s-master 원격 접속 > 아래 명령어로 kubectl 자동 완성 기능 설정 확인
[root@k8s-master ~]# cat ~/.bashrc
[9-2] Dashboard 설치
k8s-master 원격 접속 > 아래 명령어로 dashboard 설치 확인
[root@k8s-master ~]# kubectl get pod -n kubernetes-dashboard
[9-3] Metrics Server 설치
k8s-master 원격 접속 > 아래 명령어로 metrics server 설치 확인
[root@k8s-master ~]# kubectl get pod -n kube-system | grep metrics
[root@k8s-master ~]# kubectl top pod -A
출처
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 강의 | 일프로 - 인프런
일프로 | , ✅ 광범위한 쿠버네티스 기술을 A~Z까지 넓고 얇게 훑기보다 하나의 개념을 배우더라도 왜 사용하는지 부터 실무에서 어떻게 사용되는지 까지를 다루는 강의✅ 시작은 초급자지만강
www.inflearn.com
'K8S' 카테고리의 다른 글
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 미션 4 (0) | 2025.06.10 |
---|---|
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 미션 3 (0) | 2025.06.10 |
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 미션 2 (0) | 2025.06.10 |
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 Section 4 복습 (1) | 2025.06.01 |
쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 Section 3 복습 (0) | 2025.06.01 |