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

[Sprint1] 쿠버네티스 무게감 있게 설치하기 > 구간별 상태 확인 - 미션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

실행 결과

imagecontainerd 설치 확인

[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

댓글을 작성해보세요.

채널톡 아이콘