- 위처럼 pod, service 등의 yaml 형식을 자동으로 정의해 편리하게 사용 가능
- 굳이 명령어를 치지 않고도 배포 및 상태 확인이 가능
- yaml manifest 모아서 관리 한 뒤 helm Chart를 만들기 간편하다.
- 추가적으로 AKS은 대체로 Cloud Shell을 이용하는데 - Cloud Shell은 docker 명령을 지원하지 않는다.
- 실제로 Master Node는 존재하지 않고 (PaaS 형태) NodePool에만 docker가 깔려있음 때문에 Imaging을 할 Docker Client를 따로 구성해야 하는 불편함이 있다.
그래서 구성해야하면 VSCODE가 깔린 Window의 Local의 Docker로 Imaging 작업을 진행하고 바로 aks에서 인식하게 하려는 계획입니다.
az aks get-credentials --resource-group [myResourceGroup] --name [myAKSCluster]
위의 링크에서 설명하는 방법은 다음과 같습니다.
az login
E az aks get-credentials --resource-group k8s --name nasa1515
az aks browse --resource-group k8s --name nasa1515
vscode에서 kubectl.exe의 환경변수가 정상적으로 등록되지 않아서 발생.
위처럼 window cmd console 에서도 kubectl 명령이 먹지 않습니다.
path
에 해당 경로를 추가해줍니다.
적용하고 나오기
curl -LO https://dl.k8s.io/release/v1.20.0/bin/windows/amd64/kubectl.exe
### checksum file download curl -LO https://dl.k8s.io/v1.20.0/bin/windows/amd64/kubectl.exe.sha256
CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256
점검 결과 동일 C:\Users\USER>CertUtil -hashfile kubectl.exe SHA256 SHA256의 kubectl.exe 해시: ee7be8e93349fb0fd1db7f5cdb5985f5698cef69b7b7be012fc0e6bed06b254d CertUtil: -hashfile 명령이 성공적으로 완료되었습니다. C:\Users\USER>type kubectl.exe.sha256 ee7be8e93349fb0fd1db7f5cdb5985f5698cef69b7b7be012fc0e6bed06b254d C:\Users\USER>
C:\Users\USER>kubectl version --client Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"windows/amd64"}
해당 경로에는 한글이나 깨질만한 언어로 생성된 것이 없었습니다.
다음과 같이 settings.json이라는 file로 관리되고 있었습니다.
그러나 다음과 같이 main path로 등록이 될 부분들은 빈칸이 되어야 했습니다.
저의 경우에는 해당 칸들이 자동으로 undefined로 채워져 있었습니다.
또한 이미 undefined로 채워져 있었을 경우 이후 빈칸으로 만든 뒤 저장을해도 setting.json 파일에서는 인식이 안되는 이슈가 있습니다.
해당 부분이 helm이나 kubectl들의 main 바이너리 위치를 읽는 부분입니다. "vs-kubernetes": { "vscode-kubernetes.helm-path.windows": "C:\\Users\\USER\\.vs-kubernetes\\tools\\helm\\windows-amd64\\helm.exe", "vscode-kubernetes.minikube-path.windows": "C:\\Users\\USER\\.vs-kubernetes\\tools\\minikube\\windows-amd64\\minikube.exe", "vs-kubernetes.kubeconfig": "undefined", <<--- 지정하지 않고 undefined 로 둬야함 "vscode-kubernetes.kubectl-path.windows": "C:\\Users\\USER\\.vs-kubernetes\\tools\\kubectl\\kubectl.exe" <<--- 해당 환경 변수 문을 추가 },
그럼 위처럼 vscode <-> aks cluster가 직접 연결되어 환경관리나 배포가 가능합니다.
사실 ERROR만 봐도 알 수 있는 error 입니다. 위의 Settings.json File에서 Config File의 위치를 지정해야함