inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Sprint1] 쿠버네티스 무게감 있게 설치하기 > 구간별 상태 확인 - 미션1

윤희준
1

[3-1] Rocky Linux 버전 확인

▶ k8s-master 원격접속 후 명령어 실행

[root@k8s-master ~]# cat /etc/*-release

▶ 실행 결과

image

[3-2] Hostname 확인

▶ k8s-master 원격접속 후 명령어 실행

[root@k8s-master ~]# hostname

▶ 실행 결과

image

[3-3], [3-4] Network 확인

▶ k8s-master 원격접속 후 명령어 실행

[root@k8s-master ~]# ip addr

▶ 실행 결과

image

[3-5] 자원(cpu, memory) 확인

▶ k8s-master 원격접속 후 명령어 실행

[root@k8s-master ~]# lscpu
[root@k8s-master ~]# free -h

▶ 실행 결과

imageimage

[4] Rocky Linux 기본 설정

▶ 타임존 설정 확인

[root@k8s-master ~]# timedatectl

image

[5] kubeadm 설치 전 사전작업

▶ 방화벽 해제 확인

[root@k8s-master ~]# systemctl status firewalld

▶ 실행 결과

image

▶ 스왑(swap) 비활성화 확인

[root@k8s-master ~]# free
[root@k8s-master ~]# cat /etc/fstab | grep swap

▶ 실행 결과

imageimage

[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

▶ 실행 결과

image

[6-2] 컨테이너 런타임 (containerd 설치)

[6-2-1] containerd 패키지 설치 (option2)

[6-2-1-1] docker engine (containerd.io)만 설치

▶ docker repo 설정 확인

[root@k8s-master ~]# yum repolist enabled

▶ 실행 결과

image▶containerd 설치 확인

[root@k8s-master ~]# systemctl status containerd

▶ 실행 결과

image▶설치 가능한 버전의 containerd.io 리스트 확인

[root@k8s-master ~]# yum list containerd.io --showduplicates | sort -r

▶ 실행 결과

image

[6-3] 컨테이너 런타임 (CRI활성화)

▶ cri 활성화 설정 확인

[root@k8s-master ~]# cat /etc/containerd/config.toml

▶ 실행 결과

image▶ kubelet cgroup 확인 (configmap)

[root@k8s-master ~]# kubectl get -n kube-system cm kubelet-config -o yaml

▶ 실행 결과

image▶ kubelet cgroup 확인 (kubelet)

[root@k8s-master ~]# cat /var/lib/kubelet/config.yaml

▶ 실행 결과

image

[7] kubeadm 설치

▶ repo 설정 확인

[root@k8s-master ~]# yum repolist enabled

▶ 실행 결과

image▶ SELinux 설정 확인

[root@k8s-master ~]# cat /etc/selinux/config
[root@k8s-master ~]# sestatus

▶ 실행 결과

imageimage▶ 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

▶ 실행 결과

image▶ 설치 가능한 버전의 kubeadm 리스트 확인

[root@k8s-master ~]# yum list --showduplicates kubeadm --disableexcludes=kubernetes

▶ 실행 결과

image

 

[8] kubeadm으로 클러스터 생성

[8-1] 클러스터 초기화 (Pod Network 세팅)

▶ 클러스터 상태 확인

# 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

▶ 실행 결과

image[8-2] kubectl 사용 설정

▶ 인증서 설정 확인

[root@k8s-master ~]# cat ~/.kube/config

▶ 실행 결과

image[8-3] CNI Plugin 설치 (calico)

▶ 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

▶ 실행 결과

image[8-4] Master에 pod를 생성 할 수 있도록 설정

▶ Master Node에 Taint 해제 확인

[root@k8s-master ~]# kubectl describe nodes | grep Taints

▶ 실행 결과

image

[9] 쿠버네티스 편의 기능 설치

[9-1] kubectl 자동완성 기능

▶ kubectl 기능 설정 확인

[root@k8s-master ~]# cat ~/.bashrc

▶ 실행 결과

image[9-2] Dashboard 설치

▶ dashboard 설치 확인

[root@k8s-master ~]# kubectl get pod -n kubernetes-dashboard

▶ 실행 결과

image[9-3] Metrics Server 설치

▶ metrics server 설치 확인

[root@k8s-master ~]# kubectl get pod -n kube-system  | grep metrics
[root@k8s-master ~]# kubectl top pod -A

▶ 실행 결과

image

데브옵스 · 인프라 쿠버네티스

답변 0