WSL2 우분투 환경에서 docker desktop을 사용하지 않고 minikube를 설치 한 후 intellij kubenates 플러그인과 연결 하려 한다.
kubernates를 사용하기 위해 docker, hyper-v, vm 등 이 필요한데 가장 익숙한 docker 를 사용하기로 했다.
아래 링크와 코드를 참고 하여 wsl에 docker를 설치한다.
https://docs.docker.com/engine/install/ubuntu/
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker의 권한도 주도록 하자
$ sudo usermod -aG docker $USER
이제 minikube를 설치해야한다.
minikube 또한 wsl 환경에 설치 하기 때문에 ubuntu를 참고하여 설치하면된다.
https://minikube.sigs.k8s.io/docs/start/
실행 스크립트는 다음과 같다
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
$ sudo install minikube-linux-amd64 /usr/local/bin/minikube
설치 후 클러스터를 실행한다.
$ minikube start
minikube는 kubectl 을 사용하려면
$ minikube kubectl
로 사용해야해서 복잡성을 줄이기 위해 아래와 같이 등록해서 사용하기도 한다.
$ alias kubectl="minikube kubectl --"
그러나 이 방법은 Intellij 에서 Kubernetes 플러그인에서 인식하지 못하는 문제가 있다
아래의 방법으로 심볼릭 링크를 걸어 주게되면 `\usr\local\bin\'에 minikube 외에 kubectl가 생성된다.
$ ln -s $(which minikube) /usr/local/bin/kubectl
이후 IntelliJ의 kubernetes 플러그인 설정에서 kubectl 실행파일 경로를 아래와 같이 맞춰주고 kubeconfig 파일 경로도 d이미지와 같이 설정해준다 $username은 wsl 사용자 계정을 넣어주면 된다.
\\wsl$\Ubuntu\usr\local\bin\kubectl
\\wsl$\Ubuntu\home\$username\.kube\config
적용을 누른 다음 intellJ의 서비스를 보면 이미지처럼 적용된 것을 확인 할 수 있다.
* 만약 인텔리제이에서 crt 경로를 찾을 수 없다는 에러가 발생하면
apiVersion: v1
clusters:
- cluster:
certificate-authority: \\wsl$\Ubuntu\home\a\.minikube\ca.crt
extensions:
- extension:
last-update: Thu, 07 Sep 2023 09:08:59 KST
provider: minikube.sigs.k8s.io
version: v1.31.1
name: cluster_info
server: https://127.0.0.1:32769
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Thu, 07 Sep 2023 09:08:59 KST
provider: minikube.sigs.k8s.io
version: v1.31.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: \\wsl$\Ubuntu\home\a\.minikube\profiles\minikube\client.crt
client-key: \\wsl$\Ubuntu\home\a\.minikube\profiles\minikube\client.key
\\wsl$\Ubuntu\ 를 붙여서 경로를 수정해주면 된다
'IT > kubernates' 카테고리의 다른 글
Pod (0) | 2024.05.21 |
---|---|
Node (0) | 2024.05.20 |
Control Plane (0) | 2024.05.17 |
Kubernetes Architecture (0) | 2024.05.16 |
Kubernetes (0) | 2024.05.16 |
댓글