Kubernetes

22.07.01

가로선 2022. 7. 1. 15:15

 

   목차   

 

1. Kubernetes

 - Kubernetes 정리

 - Kubernetes 설치

 - Kubernetes 간단 테스트


 

   Kubernetes   

 

   Kubernetes 정리   

 - 컨테이너 운영을 자동화하기 위한 컨테이너 오케스트레이션 도구

    - 오케스트레이션 : 배포, 스케일링 및 관리를 합친 말

 - 설치가 굉장히 복잡하다

    - 윈도우에서도 리눅스 서브시스템을 이용하여 구현 가능

        - 제어가 쉽지 않음
        - 가상화에서 HVM이 지원하지 않는다

 

   Kubernetes 설치   

 - 자동화 스크립트로 설치를 진행

 - 필자의 스크립트가 아니므로 정리할 부분을 제외한 나머지는 모자이크 처리

 - kubernetes 1.20버전 부터 도커 지원이 중단(해당 버전도 도커 사용 불가)

 

 

서버끼리 시간 동기화

    - 서버끼리 시간이 다르면 설치가 되지 않는다

 

스왑기능 오프 시키기

    - swap : 물리 메모리(RAM)의 용량이 부족시 하드 디스크의 일부 공간을 메모리 처럼 사용하는 것

    - 이유 : 메모리 swap을 고려하지 않고 설계되었기 때문

        - 쿠버네티스는 Pod를 생성할 때, 필요한 만큼의 리소스를 할당 받아서 사용하는 구조

        - 즉, 자원을 100%에 가깝게 사용하는 것이 목표인데에 swap은 무의미!

    - 설정 명령어

        - ^ : 그줄에 젤앞
        - \ : 가로줄 모두 인식
        - * : 뭐든 오든간에 주석처리해라(#\1)

 

드라이버 활성화

    - overlay : 스위치

    - br_netfilter : iptables 활성화

    - modprobe : 드라이버 활성화

    - 읽어들인 드라이버들을 통해 iptables를 사용하도록 

 

호스트 파일 수정

    - 최초에는 DNS가 존재하지 않으니 호스트 이름을 보고 통신하므로

 

리포지토리를 생성한 후, 필요 패키지 설치

    - kubelet : kubectl을 동작하기 위한 패키지

    - kubeadm : k8s에서 제공하는 기본적인 도구

 

마스터 수정

    - 컨트롤러 노드인 마스터의 IP로 수정

    - kubeadm 명령어를 통해 초기화를 지행 후 생성한 디렉터리에 설정파일 저장

 

projectcalico 설치

    - projectcalico : 노드끼리 통신시켜주는 L3 스위치(가장 성능이 좋다)

 

   Kubernetes 간단 테스트   

 - Master 1개, 노드 2개 생성

 - 스크립트를 통해 설치 자동화 진행

 

마스터 설치시 부여되는 토큰 확인

    - 이 토큰을 통해 워크노드에서 컨테이너와 연결이 된다

 

토큰 TTL 확인

 

노드 설치 확인

 

토큰을 통해 컨테이너와 연결

 

마스터에서 노드 연결 확인

 

이미지를 사용하여 pod 생성

    - pod : 컨테이너가 하나 일 수있고 많이 있을 수도 있음
        - 1대 이상의 컨테이너를 포함한 가장 작은 단위

 

pod 확인

 

서비스를 하기 위해 외부로 노출

    - 클러스터 ip, 노드 포트는 k8s로 바로 노출이 가능하다

 

포트 확인

 

해당 포트로 외부에서 접속

 

해당 포트로 외부에서 접속

 

해당 포트로 외부에서 접속

    - 모든 노드의 IP에서 접속이 되는 것을 확인

 

삭제시에는 서비스를 먼저 삭제

 

서비스 삭제 후 pod 삭제

'Kubernetes' 카테고리의 다른 글

22.07.28  (0) 2022.07.28
22.07.27  (0) 2022.07.28
22.07.26  (0) 2022.07.28
22.07.25  (0) 2022.07.26