도커&쿠버네티스 실습 환경 구축 > 도커 & 쿠버네티스

본문 바로가기

[설치] 도커&쿠버네티스 실습 환경 구축

필기자
2023-08-25 13:05 2,302 0

본문

도커&쿠버네티스 환경 구축 세가지 방법
  • 리눅스 컴퓨터에서 도커 사용
  • 가상 머신(VMwaer)과 같은 렌탈 환경에 도커 설치 후 윈도우나 macOS 통해 사용
  • 윈도우용/macOS용 도커 사용하기
20230825130642_d10d5e667b998ae7673195c4a2271917_hk38.png

가상머신을 사용하여 도커&쿠버네티스 실습 환경을 구축한 이유
  • 실제 운영 환경을 돈을 아끼면서 유사하게 모방하여 연습할 수 있음
가상머신 플랫폼 중 VMware를 선택 이유
  • 사용하기 간편하고 다양한 기능을 제공
  • 확장성이 좋고 안정적인 환경을 제공
  • 풍부한 지원과 사용자 친화적인 인터페이스로 쉽게 가상 머신을 생성하고 관리할 수 있음
  • 기업 수준의 요구사항과 기준을 충족하는 서비스를 제공

VMware 설치 과정

- vmware 공식 홈페이지 접속 https://www.vmware.com/kr.html

20230825130835_d10d5e667b998ae7673195c4a2271917_4nto.png

- 제품 클릭후 데스크톱 하이퍼바이저에서 Workstaion Player 클릭
20230825131018_d10d5e667b998ae7673195c4a2271917_00tz.png


- GO TO DOWNLOADS 클릭
20230825131233_d10d5e667b998ae7673195c4a2271917_x7br.png

- 다운로드 파일 실행 및 설치
20230825140123_d10d5e667b998ae7673195c4a2271917_vkmp.png

20230825140143_d10d5e667b998ae7673195c4a2271917_j9qu.png

20230825140158_d10d5e667b998ae7673195c4a2271917_fvfb.png

우분투 이미지 다운로드

- https://releases.ubuntu.com/focal/
  • 위 경로에 가서 Desktop image[Ubuntu 20.04.6 LTS (Focal Fossa)] 다운로드
  • 현재 시점 우분투 22.04 버전이 있으나 도커&쿠버네티스 운영을 위해 검증된 20.04.06 버전 설치

20230825140913_d10d5e667b998ae7673195c4a2271917_sh2a.png


우분투 가상 머신 설치(도커&쿠버네티스 템플릿 이미지 만들기)

- 바탕화면에 있는 Vmware Workstation 17 Player 실행 후 새로운 가상머신 생성

20230825140938_d10d5e667b998ae7673195c4a2271917_o3se.png

- 운영 체제 나중에 설치 체크 후 Next
- 가상 머신에 어떤 운영체제를 설치 할 것인지 선택 후 Next
20230825141017_d10d5e667b998ae7673195c4a2271917_gwcw.png

- 가상 머신 이름과 경로 선택 후 Next
- 가상 머신 하드 디스크 사이즈를 40GB로 설정 후 단일 파일로 저장하는 옵션 선택
20230825141121_d10d5e667b998ae7673195c4a2271917_8gr4.png

- 가상 머신의 하드웨어 사용자 정의 클릭 후
- 다운로드 받은 우분투 이미지 선택
20230825141521_d10d5e667b998ae7673195c4a2271917_sy3w.png

- 가상머신의 네트워크 어댑터 방식을 NAT(Network Address Translation)로 설정 후 close 및 Finish 클릭하여 가상 머신 생성

  • IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하면서 네트워크 트래픽을 주고 받게하는 기술

- 생성된 master 가상머신 실행
20230825142153_d10d5e667b998ae7673195c4a2271917_a94a.png

- ubuntu lilux 설치
- 첫 설치 화면에서 next 버튼이 보이지 않을시 조치

  • 상단 install 제목 우측 끝 버튼 클릭
  • 바탕화면에서 우클릭 후 Display Settings 접근
  • 화면 해상도 조정(1280 x 768 추천)
  • 해상도 조정후 바탕화면에 있는 install Ubuntu 20.04.6 LTS 클릭, 설치 진행

20230825144655_d10d5e667b998ae7673195c4a2271917_o75r.png

20230825144711_d10d5e667b998ae7673195c4a2271917_v8lg.png

- 이후 계속 설치
20230825145721_d10d5e667b998ae7673195c4a2271917_gisa.png

20230825145628_d10d5e667b998ae7673195c4a2271917_clox.png

20230825145743_d10d5e667b998ae7673195c4a2271917_j1h7.png

20230825145810_d10d5e667b998ae7673195c4a2271917_shjf.png

- 설치 완료 후 조치 사항

  • 우분투 버전 업그레이드 X
  • 소프트웨어 업데이트 필수 아님

20230825150030_d10d5e667b998ae7673195c4a2271917_8lo4.png

20230825150044_d10d5e667b998ae7673195c4a2271917_hovj.png

도커&쿠버네티스 운영을 위한 공통 템플릿 제작

- 호스트 <-> 게스트 복사 붙여 넣기 기능 활성



user1@myubuntu:~$ sudo apt-get update
user1@myubuntu:~$ sudo apt-get install open-vm-tools-desktop


- 동적IP 해제 후 고정 IP를 할당하기 : ip 주소확인

  • gateway 확인 : ip route
  • 현재 할당된 ip 확인 :ip addr
20230825150305_d10d5e667b998ae7673195c4a2271917_yeib.png

20230825150327_d10d5e667b998ae7673195c4a2271917_zjqj.png
 

- 동적IP 해제 후 고정 IP를 할당하기 : netplan설정

  • sudo nano /etc/netplan/01-network-manager-all.yaml
  • sudo netplan apply


# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.74.128/24]
      gateway4: 192.168.74.2
      nameservers:
        addresses: [192.168.74.2]


- 패키지를 최신 상태로 업데이트

  • sudo apt-get update && sudo apt-get upgrade
20230825151123_d10d5e667b998ae7673195c4a2271917_ewtp.png

- 패키지 관리자가 https를 통해 데이터와 패키지에 접근할 수 있도록 도구 다운로드
  • sudo apt install apt-transport-https curl
  • apt-transport-https: 패키지 저장소와 연결을 암호화하여 외부로부터 무단 접근을 방지
  • curl: URL을 통해 데이터를 가져오고 보내는데 사용
20230825151220_d10d5e667b998ae7673195c4a2271917_6wbb.png

- 컨테이너 런타임인 도커 설치
  • sudo apt install docker.io
  • 다운 중 “계속 하시겠습니까?” 메시지가 나타나면 ‘y’를 입력
  • 도커 다운로드 후 sudo systemctl start docker 명령어로 도커 실행
  • 재부팅 후에도 서비스가 자동으로 시작되도록 명령어 sudo systemctl enable docker
20230825151334_d10d5e667b998ae7673195c4a2271917_0iva.png

- 도커 서비스 상태 확인
  • sudo systemctl status docker
  • active (running) 상태이면 도커가 정상적인 상태
20230825151421_d10d5e667b998ae7673195c4a2271917_mn2d.png

- 우분투 사용자를 도커 그룹에 추가하여 권한 문제로 일어날 수 있는 제약 해결
  • sudo usermod -aG docker $USER


sudo usermod -aG docker $USER
#현재세션 새로고침
su - ${USER}
#도커 버전확인
docker --version
#간단한 테스트
docker run hello-world
#Hello from Docker! 출력 확인


- 물리 메모리가 부족할 경우를 대비해 만들어 놓은 공간이 스왑 메모리 비활성하기

  • sudo swapoff -a
  • sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- 도커의 cgroup 관리를 위해 systemd를 사용하도록 변경
  • sudo docker info | grep -i cgroup
  • cgroup driver가 systemd로 설정되있으면 정상
20230825152015_d10d5e667b998ae7673195c4a2271917_0lrd.png
  • sudo nano /etc/docker/daemon.json

{
     "exec-opts": ["native.cgroupdriver=systemd"],
     "log-driver": "json-file",
     "log-opts": {
         "max-size": "100m"
     },
     "storage-driver": "overlay2"
}

20230825152058_d10d5e667b998ae7673195c4a2271917_de5x.png
  • sudo mkdir -p /etc/systemd/system/docker.service.d
  • sudo systemctl daemon-reload
  • sudo systemctl restart docker
  • sudo docker info | grep -i cgroup
20230825152222_d10d5e667b998ae7673195c4a2271917_iheg.png

- 쿠버네티스 리포지토리 지정을 위한 key 발급 및 리포지토리 지정 20230825152832_d10d5e667b998ae7673195c4a2271917_4ti9.png

- 쿠버네티스 패키지 다운로드
  • sudo apt install kubeadm kubelet kubectl kubernetes-cni
  • 다운로드 중 “계속 하시겠습니까?” 메시지가 보이면 ‘y’를 입력후 엔터
  • 마스터 노드, 워커 노드 공통 템플릿 완성 가상머신 전원 끄기
20230825152945_d10d5e667b998ae7673195c4a2271917_72ac.png

- 세팅된 가상머신 설치 경로에서 필요한 노드 수 만큼 폴더 복사
20230825155945_d10d5e667b998ae7673195c4a2271917_87xv.png

20230825153310_d10d5e667b998ae7673195c4a2271917_vc5o.png

- 복사한 가상머신의 설정 파일을 새로운 가상머신을 생성
20230825154016_d10d5e667b998ae7673195c4a2271917_fsfx.png

- 설정 파일을 기반으로 만들어진 가상머신 이름을 각각 변경하고 실행
- 실행시 옵션 원본 가상 머신의 원본과 같은 상태로 시작할 수 있게 I Copied It 옵션

20230825153610_d10d5e667b998ae7673195c4a2271917_4zph.png

- 각 가상머신 고정 ip변경 
  • sudo nano /etc/netplan/01-network-manager-all.yaml
  • 아래 내용 기입후 저장 sudo netplan apply로 변경사항 적용
  • nameservers의 addresses부분 [8.8.8.8,8.8.4.4] 넣어도 무관함
  • 구글에서 제공하는 공개 DNS서비스 아이피 주소, 8.8.8.8(기본 DNS 서버 주소), 8.8.4.4(보조 DNS 서버 주소)
20230825153757_d10d5e667b998ae7673195c4a2271917_wk9f.png

- 각 가상머신 호스트명 변경
20230825154220_d10d5e667b998ae7673195c4a2271917_xcwh.png

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색