[Kubernetes] Minikube 환경 Portainer 연결




Minikube 환경을 Portainer에서 관리할 수 있도록 연결하는 내용을 정리합니다.


Minikube 설치

Minikube 환경 구성/설치는 아래 포스트를 참고하면 되겠습니다.


Portainer 설치

Docker 환경에 Portainer 구성/설치는 아래 포스트를 참고하면 되겠습니다.


Portainer에 Minikube 환경 추가

Portainer와 Minikube 네트워크 연결

Docker Desktop 환경과 Minikube 환경은 다른 네트워크에 존재하므로 서로 독립적이며 통신이 불가능한 환경입니다.

그러므로 서로 간의 통신을 할 수 있도록 네트워크를 연결해 주어야 합니다.

그 방법은 Portainer의 네트워크에 Minikube 네트워크를 조인하여 연결해주면 되겠습니다.


1. 우선 Portainer UI( http://localhost:9000/ )에 접속 합니다.

2. Containers 메뉴에서 Portainer 컨테이너를 선택합니다.

3. Container details 에서 하단의 ‘ Connected networks ‘ 부분에서 minikube Network를 Join 합니다.

4. Portainer의 컨테이너 IP가 바뀌어 표시되는 것을 확인할 수 있습니다.

Network를 Join하면 컨테이너에 할당된 IP는 아래와 같이 확인됩니다.

  • portainer : 192.168.49.3
  • minikube : 192.168.49.2

Portainer에 환경 추가

1. Portainer 왼쪽 매뉴 중 ‘Environments’ 메뉴를 클릭합니다.

2. 오른쪽에 ‘Add environment’를 클릭합니다.

3. Kubernetes를 선택하고 ‘Start Wizard’를 클릭합니다.

4. Agent를 선택합니다.

5. ‘Kubernetes via node port’를 선택하고 표시된 명령어로 Minikube 환경에서 Portainer-Agent를 배포합니다.

kubectl apply -f https://downloads.portainer.io/ce2-16/portainer-agent-k8s-nodeport.yaml
PS C:\Windows\system32> kubectl apply -f https://downloads.portainer.io/ce2-16/portainer-agent-k8s-nodeport.yaml
namespace/portainer unchanged
serviceaccount/portainer-sa-clusteradmin unchanged
clusterrolebinding.rbac.authorization.k8s.io/portainer-crb-clusteradmin unchanged
service/portainer-agent unchanged
service/portainer-agent-headless unchanged
deployment.apps/portainer-agent unchanged
PS C:\Windows\system32>
PS C:\Windows\system32> kubectl get pod -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   coredns-5dd5756b68-q47x2           1/1     Running   1 (26m ago)   3d12h
kube-system   etcd-minikube                      1/1     Running   1 (26m ago)   3d12h
kube-system   kube-apiserver-minikube            1/1     Running   1 (26m ago)   3d12h
kube-system   kube-controller-manager-minikube   1/1     Running   3 (26m ago)   3d12h
kube-system   kube-proxy-5j6xr                   1/1     Running   1 (26m ago)   3d12h
kube-system   kube-scheduler-minikube            1/1     Running   1 (26m ago)   3d12h
kube-system   storage-provisioner                1/1     Running   2 (26m ago)   3d12h
portainer     portainer-agent-5d979d5f6b-xspb5   1/1     Running   1 (26m ago)   3d12h
PS C:\Windows\system32>
PS C:\Windows\system32> kubectl get svc -A
NAMESPACE     NAME                       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes                 ClusterIP   10.96.0.1      <none>        443/TCP                  3d12h
kube-system   kube-dns                   ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   3d12h
portainer     portainer-agent            NodePort    10.110.29.38   <none>        9001:30778/TCP           3d12h
portainer     portainer-agent-headless   ClusterIP   None           <none>        <none>                   3d12h
PS C:\Windows\system32>

6. Portainer 에서 Name, Environment address를 추가입력합니다.

  • Name : minikube
  • Environment address : 192.168.49.2:30778

위 IP와 포트는 minikube 컨테이너 IP와 portainer-agent의 포트입니다.

7. Connect를 클릭합니다.

New Environments가 추가된 것을 확인할 수 있습니다.


Minikube 환경 접속

Portainer에서 Home을 보면 추가한 minikube 환경을 확인 할 수 있습니다.

환경을 접속하면 Portainer 관리툴에서 minikube도 기본적인 관리를 할 수 있겠습니다.


마치며

Minikube Dashboard를 이용해서 쿠버네티스 환경을 관리할 수도 있지만 Portainer를 통해서도 쿠버네티스 환경을 관리할 수 있겠습니다.

구성을 하고보니 Portainer가 과거 버전(2.16.2) 여서 Service 메뉴가 보이지 않는 부분이 있습니다.

최신 버전 Portainer로 업그레이드를 하면 Service 메뉴도 확인할 수 있겠습니다.




Leave a Comment