티스토리 뷰

반응형

 - 쿠버네티스란 ?

    쿠버네티스를 시작하기 전 컨테이너 구조에 대해 간략히 언급하자면, 

    호스트 운영체제 위에 도커 그 위에 컨테이너(클러스터 구성된) 로 구분하여 

    해당 컨테이너에 앱을 올리는 방식으로 VM을 통한 구조보다 성능이 좋다.

    그 중 쿠버네티스는 컨테이너 오케스트레이션 중 하나로, 각 컨테이너의 관리를 편하게 해주는 시스템이다.

 

     기존의 도커를 통한 컨테이너(클러스터 구성된) 를 관리 할 경우 수정, 배포시 각 컨테이너별로 다시 배포해야 하는 단         점이 있는데,

     컨테이너 오케스트레이션을 사용하여 하나의 컨테이너 설정을 이미지화 하여 다른 컨테이너에도 똑같이 적용 할 수 있       는 시스템이로서, 이 중 하나가 쿠버네티스(kubernetes, 별칭: k8s)다.

     

     쿠버네티스는 선언적API라 하며, 이는 컨테이너가 어떤 상태인지 원하는지 쿠버네티스에 설정 할 경우

     지속적으로 모니터링이 이뤄지며 자동화 한다.

 

   * 도커 세팅

     일단 도커 데스크톱을 다운하여 cmd창에 docker version으로 설치확인,

     도커 데스크톱의 setting에서 Enable Kubernetes 체크 후 재시작, cmd창 kubectl version 으로 확인

 

    * 클라우드 서비스 셋팅

       - 구글 쿠버네티스 엔진

       - 아마존 쿠버네티스 일래스틱 컨테이너 서비스

       - 애저 쿠버네티스 서비스

 

 - 구글 클라우드 서비스 시작

   구글 클라우드 서비스의 compute Engine에 VM인스턴스를 생성한다. ( Ubuntu로 시작 )

    

 - 마스터 노드 SSH 설정

    마스터 노드인 1번 서버에 다른 서버의 원격접속을 위한 SSH를 설정 ( 사용툴인 ansible이 SSH로 접근 됨 )

    SSH 생성 : 'ssh-keygen -t rsa'    : -t rsa는 rsa 암호화방식

       - ssh경로에 id_rsa, id_rsa.pub가 생성됨

 

 - SSH 키 배포

     마스터 노드에 생성한 SSH의 키를 복사하여 (명령어 : cat 경로명/파일명   ex. cat .ssh/id_rsa.pub)

     구글 클라우드 서비스의 메타데이터 -> SSH 탭에 추가

     자체 서버일 경우 각 서버에 'ssh-copy-id 계정이름@서버IP' 명령어를 통해 각각 배포 하거나,

     환경에 다라서는 'vi .ssh/authorized_keys' 등으로 직접 설정

     마스터 노드에서 'ssh 서브노드명 hostname' 으로 접속 확인     

 

 - kubespray 설치

     우선, 파이썬 패키지 매니저 설치 'sudo apt -y install python-pip' 후 pip --version으로 확인

     깃허브에서 kubespray를 클론 'git clone 주소' (주소 : https://github.com/kubernetes-sigs/kubespray.git )

     그 후 kubespray 로 들어가 원하는 버전을 체크아웃 'git checkout -b 버전'

     브런치 목록 보기 명령어 : 'git branch -al'

     현재 브런치 확인 명령어 : 'git status'

     해당 경로안의 requirements.txt 파일안에 패키지 버전정보가 들어있다.

     패키지 버전이 맞지않으면 requirements.txt를 수정해가며 작업

     pip 버전이 맞지 않으면 'python -m pip install --upgrade pip' 또는 'pip install -U setuptools'로 업데이트

     그후 ansible --version을 통해 앤서블 설치확인

 

 - tree 설치

     sudo apt install tree : 트리구조 명령어 설치

 

 

2. 기타

     - http://slack.k8s.io ( k8s 슬랙 커뮤니티 )

     - http://www.facebook.com/groups/k8skr ( k8s 페이스북 커뮤니티 )

     - https://labs.play-with-k8s.com ( 웹기반 쿠버네티스 실습 )

반응형
반응형
TAG
more
공지사항
최근에 올라온 글
최근에 달린 댓글
글 보관함