본문 바로가기

좋아하는 것_매직IT/15.kubernetes

Oracle Linux 8.x 에서 MicroK8s 설치하기

반응형

블로그 목적

  • "Oracle Linux 8.x 에서 MicroK8s설치하기" 대해서 공부및 정리후 나만의 노하우와 지식을 공유한다.​

블로그 요약

  • MicroK8s에 대해서 정리해본다.
  • MicroK8s를 Oracle Linux 8.x에 설치하는 과정및 방법을 공유해본다.

 

블로그 상세 내용

우선, MicroK8s에 대해서 정리해볼까요?

  • MicroK8s is a low-ops, minimal production Kubernetes.
    • 즉, 한마디로 낮은작업의 최소의 프로덕션 Kubernetes 라고 보시면 되는데요...
    • 참고로, MicroK8s는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 시스템이고요..
    • 단일 노드에서 고가용성 프로덕션 클러스터로 확장 가능한 작은 공간에서 핵심 Kubernetes 구성 요소의 기능을 제공한다고하네요...
    • 보통은 Kubernetes를 테스트 목적으로 사용해 보기위해서 좋은 환경인것 같고요...
    • 테스트용도로는 해당 MicroK8s 외에도 MiniKube 도 존재하고 있습니다.
      • 아래는 MiniKube 홈페이지니깐요 혹시나 관심 있으신분은 참고해 보셔도 좋을 것 같네요..
      • 아무튼 오늘의 주제는 MicroK8s 이니깐요.... MiniKube에 대한 설명은 추후에 시간이 되면 다른 블로그로 찾아뵙도록 하겠습니다. 
  • 아무튼, MicroK8s 의 홈페이지는 아래와 같습니다.
  • MicroK8s 를 사용하는 이유는 다음과 같습니다.
    • 즉, Kubernetes를 실행하는 데 필요한 리소스을 줄임으로써 MicroK8s는 Kubernetes를 다음과 같은 새로운 환경에 도입할 수 있다고 하는데요.
      • 첫번째는, Kubernetes를 경량 개발 도구로 전환
      • 두번째는, GitHub CI와 같은 최소 환경에서 Kubernetes를 사용할 수 있도록 함.
      • 세번째는, 소형 가전 IoT 애플리케이션에 Kubernetes 적용

 

그럼, 본격적으로 MicroK8s를  Oracle Linux 8.x 에 설치하는 방법을 공유해보도록 하겠습니다.

  • MicroK8s 를 설치하기 위해서 필수 조건에 대해서 말씀드리면..
    • 우선, 해당 홈페이지에서는 명령을 실행하기 위한 Ubuntu 20.04 LTS, 18.04 LTS 또는 16.04 LTS 환경이라고 하는데요...
      • 저는 특이하게(?) 제가 주로 사용하고 있는 Oracle Linux 8.x  환경에서 설치를 해보겠습니다.
    • 그리고, MicroK8s는 최소 540MB의 메모리에서 실행되지만 워크로드를 수용하려면 최소 20G의 디스크 공간과 4G의 메모리가 있는 시스템을 권장한다고 하고요..
      • 이것을 보고 제 VM 을 위의 환경으로 꾸려봤습니다.
      •  
    • 마지막으로, 인터넷 연결이 필요합니다.
  • 그럼 환경은 구성되었으니 차근차근 설치를 진행해 보겠습니다.
  • 첫번째는 서버업데이트와 snap 를 설치해야합니다.
    • 참고로, 스냅(Snap)은 Ubuntu 스마트폰 운영 체제를 위해 캐노니컬(Canonical)에서 설계 및 제작을 시작으로 개발된 소프트웨어 배포 및 패키지 도구 이자 패키지 관리 시스템입니다.
    • $ dnf -y install oracle-epel-release-el8
      $ dnf -y update
      $ dnf -y install snapd
    • "dnf -y install oracle-epel-release-el8" 실행...
    • 그리고, "dnf -y update" 명령을 통해서 최신패캐지들로 업데이트를 하시고요..
    • "dnf -y install snapd" 명령을 실행해서 snap 환경을 구성합니다.
    • 패키지 설치가 완료되면 기본 스냅 통신 소켓을 관리하는 시스템 장치를 다음과 같이 활성화해야 하고요.
    • $ systemctl enable --now snapd.socket
    • 또한 클래식 스냅 지원을 활성화하려면 다음을 입력하여 /var/lib/snapd/snap과 /snap 사이에 심볼릭 링크를 만든 다음 PATH 변수에 snap을 추가합니다.
    • $ ln -s /var/lib/snapd/snap /snap 
      $ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | tee -a /etc/profile.d/mysnap.sh
    •  그리고, SELinux 를 비활성화 합니다.
      • 강제모드에 SELinux 가 있는 경우, 끄거나 허용모드를 사용하면 됩니다. 
      • $ setenforce 0
        $ sestatus
        $ sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
    • 그리고, 로그아웃했다가 다시 로그인하거나 시스템을 다시 시작하여 스냅 경로가 올바르게 업데이트되었는지 확인하시면되고요...
    • 추가적으로 아래 명령을 통해서 microk8s에 대해서 검색 가능합니다. 
    • $ snap find microk8s
  • 두번째는 Oracle Linux 8에 MicroK8s 를 설치해야합니다.
    • 위의 과정을 통해서 Snap 이 리눅스에 설치되었기때문에 MicroK8s를 편안하게 가져와 컨테이너 방식으로 어플리케이션을 테스트 및 실행할 수 있는 준비가 되었다고 말씀드리고 싶네요..
    • 그럼, snap 을 사용해서 MicroK8s를 설치해볼까요?
    • 아래 명령으로 설치가능하고 snap을 통해서 MicroK8s 가 정상적으로 설치되었는지 확인가능합니다.
    • # snap을 통해서 MicroK8s 설치하기
      $ snap install microk8s --classic
      
      # snap 리스트 보기
      $ snap list
    • "snap install microk8s --classic" 명령을 실행해서 설치합니다.
    • "snap list" 명령을 실행해서 snap 리스트를 확인합니다. 
    • 그리고 아래 명령을 통해서 port 작업을 합니다. 
    • # 방화벽관련 port 작업하기
      $ firewall-cmd --permanent --add-port={10255,12379,25000,16443,10250,10257,10259,32000}/tcp
      $ firewall-cmd --reload
    • 이제, 정상적으로 MicroK8s가 서버에 설치되었음을 확인했습니다.
  • 마지막으로 MicroK8s 를 관리하는 명령을 알아볼까요?
    •  MicroK8을 관리하기위해서는 시작/상태보기/중지/활성화/비활성화/노드확인등등을 할 수 있어야하는데요..
    • 아래 명령을 통해서 실행가능합니다.
    • # MicroK8s 시작하기 
      $ microk8s start
      
      # MicroK8s 상태보기
      $ microk8s status
      
      # MicroK8s 중지하기
      $ microk8s stop
      
      # MicroK8s 활성화하기
      $ snap enable microk8s
      
      # MicroK8s 비활성화하기
      $ snap disable microk8s
      
      # Node 확인하기
      $ microk8s kubectl get nodes
      
      # Pod 확인하기 
      $ microk8s kubectl get pods --all-namespaces
  • 아무튼 이번 블로그는 여기까지고요...
  • 추후에도 차근차근 MicroK8s을 잘 활용하여 쿠버네티스에 대해서 공부하고 정리해서 블로깅 하도록 노력해보겠습니다.

결론

  • 이제까지, Oracle Linux 8.x 서버에 snap & MicroK8s 을 설치및 관리하는 부분을 소개및 설명을 드렸는데요...
  • 어떻게 도움이 되셨는지 모르겠습니다..최대한 쉽게 설명드리려고 노력했으나....^^; 블로그를 작성하면 할 수록 어떻게 하면, 보다 쉽게 정보들을 전달할 수 있을것인가.. 고민을 더욱 해보겠습니다.
  • 아무튼, 앞으로도 더욱 열심히 노력하는 제가 되도록 노력하겠습니다.
  • 오늘도 마지막까지 제 글을 끝까지 읽어주셔서 진심으로 감사드리고, 제 글이 조금이라도 여러분의 각자의 삶을 살아가시는데 도움이 되셨길 기원합니다.
  • 앞으로도 더욱 좋은 블로그를 남기는 제가 되도록 노력하겠습니다.

 

728x90
300x250