Kubernetes, Docker

[Kubernetes] 쿠버네티스 환경 구성/쉽게 시작하는 쿠버네티스(v1.25) - 1,2일차

홍홍_ 2022. 11. 7. 08:00

0. 들어가기 앞서서,

 우선은 쿠버네티스라는 것이 무엇인가에 대하여 궁금증이 생겨 찾아보게 되었다. 쿠버네티스 공식 홈페이지에서는 이렇게 소개하고 있다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 내가 이해하기에는 너무 어려운 설명이었고 여러 곳을 검색 후 찾아보고 간단하게 정리해보니, 컨테이너화된 애플리케이션을 관리하는 오픈소스 라고 생각을 하고 공부를 시작하면 될 것 같다.

 쿠버네티스를 배우기 위하여 강의를 선정했고, 빠른 시일 내에 쿠버네티스를 한 번 경험을 해볼 수 있도록, 그리고 쿠버네티스의 구성이 어떻게 되어있는지를 배울 수 있다고 하여 쉽게 시작하는 쿠버네티스 강의를 듣기로 했다.
https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%89%BD%EA%B2%8C%EC%8B%9C%EC%9E%91/dashboard

 

쉽게 시작하는 쿠버네티스(v1.25) - 인프런 | 강의

쿠버네티스(☸)를 정말 시작하는 단계에서 필요한 내용을 담았습니다. 🧭 이 강의를 통해 쿠버네티스를 가장 손쉽게 구조를 이해하며 시작할 수 있습니다. 🥇, - 강의 소개 | 인프런...

www.inflearn.com

 

 

1. 쿠버네티스 환경 구성


1) 쿠버네티스란?

  • 쿠버네티스가 하는 일
    -> 컨테이너를 관리 (Container Orchestration)
  • 도커(docker)가 무엇인가?
    -> 일반적인 가상화 환경보다 컨테이너 환경에서는 더 많은 어플리캐이션을 올릴 수 있다.

  • 쿠버네티스의 관리
    • Google의 Borg 시스템을 Cloud Native Computing foundation에 기부
    • CNCF에서 관리되고 운영되고 있다.
    • Vendor와의 종속성이 없다
      -> 종속성이 높다면 해당 vendor에 비용을 지불하거나 벗어나기 어렵다.
  • 쿠버네티스의 배포 종류
    • 관리형 쿠버네티스 : 실제로 사용자가 많은 부분을 관리하지 않는다.
      -> AWS, Azure 등에서 관리형 쿠버네티스를 출시하여 사용자가 특별히 관리할 부분은 없다.
    • 설치형 쿠버네티스 : 설치를 할 수 있도록 이미 패키지 화 해두었다. (ex Rancher, OpenSheift)
    • 구성형 쿠버네티스 : 필요로 하는 Bare Metal(온프레미스) 클라우드 환경 내에서 원하는 형태를 가지고 싶은데
      제공하는 클라우드가 맞지 않아 자유롭게 구성하고 싶은, 또는 교육에 목적에 가깝게 사용할 때, 구성형 쿠버네티스를 사용한다.

2) 쿠버네티스 랩 환경 구성

우선은 강의에서 기본적으로 제공해주는 환경을 구성하려면 어느정도의 컴퓨터 사양이 충족되어야 한다.

최소한으로 메모리가 8gb인 환경에서 진행을 구성을 시작하시기를 바랍니다.

  • 랩 환경 구성 : 마스터 노드 2cpu, 1.7gib,워커 노드 1cpu, 1gib * 3
  • 필요한 도구 : vagrant, virtualbox
  • 베이그런트를 통하여 코드를 보내주어 가상머신인 버추얼박스에 노드들이 올라온다.
  • Vagrant 설치 방법 - https://h-hong.tistory.com/19

쉽게 시작하는 쿠버네티스 repository

  • 해당 repository를 다운로드 후, 제공해주는 vagrantfile을 이용하여 vagrant up을 해줍니다.

가상 머신 설치 완료
쿠버네티스 설치 확인

  • VirtualBox에서 설치된 가상머신을 확인 할 수 있습니다.
  • 가상머신을 실행하여 kubectl get nodes 를 입력하면 설치한 노드들을 확인할 수 있습니다.

3) 쿠버네티스 랩을 쉽게 접근하기 위한 터미널 구성

 위와 같은 구성에서는 가상머신에 들어가서 접근을 하게되고 굉장히 번거로운 방법이다. 그래서 구성한 랩 환경을 터미널로 접근하기 위하여 putty와 supper putty를 사용한다. putty만 사용하면 세션정보는 저장하지만 다수의 세션을 쉽게 관리하는 기능은 제공하지 않아 supper putty와 함께 사용한다.

 

supper putty로 putty에 접근, putty가 각각의 노드 세션정보를 저장하고 세션에 접근 합니다.

 

 

후기.  역시..  환경 구성이 힘들다....