Ubuntu 18.04 LTS에서 Minikube와 함께 Kubernetes를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(Bionic Beaver)
이 페이지에서
- 요구 사항\n
- 시작하기\n
- VirtualBox 하이퍼바이저 설치\n
- Minikube 설치
- Kubectl 설치
- Minikube 시작
- Kubernetes 대시보드에 액세스
Minikube는 Linux 시스템 내부에 단일 노드 Kubernetes 클러스터를 설정할 수 있는 무료 오픈 소스 도구입니다. Minikube는 Linux, MacOS 및 Windows 운영 체제에 설치할 수 있습니다. Minikube는 NodePorts, DNS, Container Network Interface, Ingress, ConfigMaps, Secrets 등과 같은 다양한 Kubernetes 기능도 지원합니다.
이 튜토리얼에서는 Ubuntu 18.04 LTS에 Kubernetes 단일 노드 Cluster Minikube를 설치하는 방법을 알아봅니다.
요구 사항
- 시스템에 설치된 신선한 Ubuntu 18.04 데스크탑.\n
- 시스템에 루트 암호가 설정되어 있습니다.\n
시작하기
먼저 시스템을 최신 버전으로 업데이트해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.
apt-get update -y
apt-get upgrade -y
시스템이 업데이트되면 시스템을 다시 시작하여 모든 변경 사항을 적용하십시오.
다음으로 다음 명령을 사용하여 일부 필수 패키지를 설치합니다.
apt-get install curl wget apt-transport-https -y
VirtualBox 하이퍼바이저 설치
Minikube는 KVM과 VirtualBox 하이퍼바이저를 모두 지원합니다. 따라서 시스템에 VirtualBox 또는 KVM을 설치해야 합니다.
다음 명령으로 Virtualbox를 설치할 수 있습니다.
apt-get install virtualbox virtualbox-ext-pack
설치가 완료되면 다음 단계로 진행할 수 있습니다.
Minikube 설치
먼저 최신 버전의 Minikube를 시스템에 다운로드해야 합니다. 다음 명령을 사용하여 공식 웹 사이트에서 다운로드할 수 있습니다.
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일을 /usr/local/bin 아래에 복사합니다.
cp minikube-linux-amd64 /usr/local/bin/minikube
다음으로 다음 명령을 사용하여 minikube에 실행 권한을 부여합니다.
chmod 755 /usr/local/bin/minikube
그런 다음 다음 명령을 사용하여 Minikube 버전을 확인합니다.
minikube version
다음 출력이 표시되어야 합니다.
minikube version: v0.34.1
Kubectl 설치
Kubectl은 Kubernetes에서 애플리케이션을 배포하고 관리하는 도구입니다. 기본적으로 Kubectl은 Ubuntu 18.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Kubernetes 리포지토리를 추가해야 합니다.
먼저 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
다음으로 다음 명령을 사용하여 Kubernetes apt 리포지토리를 추가합니다.
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
다음으로 리포지토리를 업데이트하고 다음 명령을 사용하여 Kubectl을 설치합니다.
apt-get update -y
apt-get install kubectl -y
Kubectl이 설치되면 다음 명령을 사용하여 버전을 확인할 수 있습니다.
kubectl version -o json
다음 출력이 표시되어야 합니다.
{ "clientVersion": { "major": "1", "minor": "13", "gitVersion": "v1.13.4", "gitCommit": "c27b913fddd1a6c480c229191a087698aa92f0b1", "gitTreeState": "clean", "buildDate": "2019-02-28T13:37:52Z", "goVersion": "go1.11.5", "compiler": "gc", "platform": "linux/amd64" } }
Minikube 시작하기
필요한 모든 패키지가 설치됩니다. 이제 다음 명령으로 Minikube를 시작할 수 있습니다.
minikube start
그러면 Virtualbox 이미지가 다운로드되고 아래와 같이 Kubernetes 클러스터가 구성됩니다.
o minikube v0.34.1 on linux (amd64) > Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... @ Downloading Minikube ISO ... 184.30 MB / 184.30 MB [============================================] 100.00% 0s - "minikube" IP address is 192.168.99.100 - Configuring Docker as the container runtime ... - Preparing Kubernetes environment ... @ Downloading kubeadm v1.13.3 @ Downloading kubelet v1.13.3 - Pulling images required by Kubernetes v1.13.3 ... - Launching Kubernetes v1.13.3 using kubeadm ... - Configuring cluster permissions ... - Verifying component health ..... + kubectl is now configured to use "minikube" = Done! Thank you for using minikube!
이제 다음 명령을 사용하여 클러스터 상태를 확인할 수 있습니다.
kubectl cluster-info
다음 출력이 표시되어야 합니다.
Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
다음 명령을 사용하여 Kubectl 기본 구성을 확인할 수도 있습니다.
kubectl config view
다음 출력이 표시되어야 합니다.
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.99.100:8443 name: minikube contexts: - context: cluster: minikube user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/client.crt client-key: /root/.minikube/client.key
실행 중인 노드를 확인하려면 다음 명령을 실행합니다.
kubectl get nodes
산출:
NAME STATUS ROLES AGE VERSION minikube Ready master 2m45s v1.13.3
다음 명령을 사용하여 Minikube Virtualbox에 액세스할 수도 있습니다.
minikube ssh
다음 출력이 표시되어야 합니다.
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
이제 Virtualbox 셸을 종료합니다.
$exit
또한 다음 명령을 사용하여 언제든지 kubernetes 클러스터를 중지하고 삭제할 수 있습니다.
minikube stop
minikube delete
다음 명령을 사용하여 Minikube의 상태를 확인할 수 있습니다.
minikube status
다음 출력이 표시되어야 합니다.
host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Kubernetes 대시보드에 액세스
기본적으로 Kubernetes는 클러스터를 관리하는 데 사용할 수 있는 웹 대시보드와 함께 제공됩니다.
다음 명령을 사용하여 모든 minikube 애드온을 나열할 수 있습니다.
minikube addons list
다음 출력이 표시되어야 합니다.
- addon-manager: enabled - dashboard: disabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
다음으로 다음 명령을 사용하여 클러스터에서 실행 중인 모든 컨테이너 이미지를 나열합니다.
kubectl get pods --all-namespaces
다음 출력이 표시되어야 합니다.
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-76dkf 1/1 Running 0 4m30s kube-system coredns-86c58d9df4-wdtwb 1/1 Running 0 4m29s kube-system etcd-minikube 1/1 Running 0 8m17s kube-system kube-addon-manager-minikube 1/1 Running 0 8m6s kube-system kube-apiserver-minikube 1/1 Running 1 8m13s kube-system kube-controller-manager-minikube 1/1 Running 1 8m13s kube-system kube-proxy-5k8qf 1/1 Running 0 4m33s kube-system kube-scheduler-minikube 1/1 Running 0 8m2s kube-system kubernetes-dashboard-ccc79bfc9-z827s 1/1 Running 0 4m17s kube-system storage-provisioner 1/1 Running 0 4m13s
이제 다음 명령을 실행하여 kubernate 대시보드의 URL을 가져옵니다.
minikube dashboard --url
다음 출력이 표시되어야 합니다.
- Enabling dashboard ... - Verifying dashboard health ... - Launching proxy ... - Verifying proxy health ... http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
이제 Minikube 웹 URL이 생성되었습니다. 그런 다음 웹 브라우저를 열고 URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/를 입력합니다. 다음 페이지와 같이 Kubernate 대시보드로 리디렉션됩니다.
축하합니다! Ubuntu 18.04에 Minikube를 성공적으로 설치했습니다. 이제 웹 브라우저를 통해 Kubernetes 클러스터를 쉽게 관리할 수 있습니다.