쿠버네티스 구성 흐름 설명

KingTG·2024년 3월 22일

도커&k8s

목록 보기
6/13

vm 설치

vagrant 스크립트 내용

  #os를 rocky8 버전으로 설치
  config.vm.box = "rockylinux/8"   

  
  # Disk 확장설정 추가
  config.disksize.size = "50GB"

# 밑쪽 $install_default 설정 부분
config.vm.provision :shell, privileged: true, inline: $install_default

  #virtualBox에서 생성된 vm의 이름 지정 "master-node"
  config.vm.define "master-node" do |master|
    #리눅스에 들어갔을 때 나오는 호스트의 이름 설정 "k8s-master"
    master.vm.hostname = *"k8s-master"
    # vb에서 (*"private_network") *Hos-Only Network 내 pc에서만 사용할 수 있는 프라이빗네트워크 설정
    #* ip: "192.168.56.30" 내 리눅스에 그 ip가 할당 ssh:192.168.56.30:22 , https://192.168.56.30:30000/#/login로 접속
    master.vm.network "private_network", ip: "192.168.56.30"
	master.vm.provider :virtualbox do |vb|
	
	# 자원 할당 메모리,cpu
	# 메모리는 할당된 공간을 침범하지 않지만 cpu는 필요한 순간에 나누어 사용
      vb.memory = 6144
      vb.cpus = 4
		  vb.customize ["modifyvm", :id, "--firmware", "efi"]
		end
		# $install_master 설정 부분
	    master.vm.provision :shell, privileged: true, inline: $install_master
	  end
	
	end

#쿠버네티스 설치

# node별 기본 설치 명령어
$install_default = <<-SHELL
~~~~~
SHELL

#Master Node 전용 설치 명령어
$install_master = <<-SHELL
~~~
SHELL

리눅스 버전 확인

  • vm 접속 후
  • cat /etc/*-release 입력

네트워크 확인

NAT네트워크 : VM과 외부 인터넷을 연결

NAT네트워크는 Vagrant가 스크립트에 넣지 않아도 자동으로 네트워크를 생성해준다.

ip도 알아서 할당해준다. 그래서 쿠버네티스 설치에 필요한 패키지들을 받는데 사용

k8s-master 접속 후

ip addr : 네트워크확인

lscpu : cpu확인

free -h : 메모리 확인

쿠버네티스 설치

$install_default = <<-SHELL 부분

  • node별 기본 설치 명령어
  1. rocky linux 기본 설정:패키지 업데이트, 타임존 설정
  2. kubeadm 설치 전 사전작업 : 방화벽 해제, 스왑 비 활성화
  3. 컨테이너 런타임 설치
    a. 컨테이너 런타임 설치 전 iptables 세팅
    b. 컨테이너 런타임( containerd 설치)
    i. docker engine 설치 : repo설정, containerd 설치
    c. 컨테이너 런타임 : cri 활성화
  4. kubeadm 설치 : repo,SELinux 설정, kubelet,kubeadm,kubectl 패키지 설치

$install_master = <<-SHELL

  • Master Node 전용 설치 명령어
  1. kubeadm으로 클러스터 생성
    a. 클러스터 초기화
    b. kubectl 사용 설정
    c. CNI Plugin 설치(calico)
    d. Master에 Pod 생성 설정
  2. 쿠버네티스 편의 기능 설치
    a. kubectl 자동완성 기능
    b. Dashboard 설치
    c. Metrics Server 설치

0개의 댓글