쿠버네티스, 스프링, 깃허브 액션 배포 - 2. 쿠버네티스 + 대시보드 설치
docker, github, github-action, kubernetes, registry, spring

도커 데스크톱이 있는 경우

  • enable kubernetes 체크박스를 체크합니다. kube

도커 데스크톱 없이 설치하는 것은 나중에 컴퓨터 재설치하면 써보겠습니다.

  • 필자는 이미 도커데스크톱으로 쿠버네티스를 설치했기에… 충돌이 나서 나중에 다시 작성해보겠습니다.

Kubernetes 계정추가

# 아이디는 saro 암호는 1234라고 가정하고 진행해보겠습니다.


kubectl create secret generic saro --from-literal=password=1234

# clusterrole view, edit, admin 등등이 있습니다.
kubectl create clusterrolebinding saro-binding --clusterrole=edit --user=saro

설정변경

kubectl config view
# 클러스터 설정:
kubectl config set-cluster production-cluster --server=https://kc.saro.me
# 컨텍스트 설정:
kubectl config set-context production-context --cluster=production-cluster --user=saro
# 현재 컨텍스트 변경
kubectl config use-context production-context

Kubernetes Dashboard 설치

https://github.com/kubernetes/dashboard

# helm 설치
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

# Deploy a Helm Release named "kubernetes-dashboard" using the kubernetes-dashboard chart
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

# 중간에 아래 파일의 권한오류가 발생한다면. 
chmod 600 /home/유저이름/.kube/config

# 성공시 메시지
Congratulations! You have just installed Kubernetes Dashboard in your cluster.

To access Dashboard run:
  kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443

NOTE: In case port-forward command does not work, make sure that kong service name is correct.
      Check the services in Kubernetes Dashboard namespace using:
        kubectl -n kubernetes-dashboard get svc

Dashboard will be available at:
  https://localhost:8443

kube 접속을 하면 아래와 같이 나옵니다. kube wsl은 호스트 문제가 일어나니 cmd나 파워쉘을 열고 아래와 같이 입력합니다.

# 예를 들어 저는 saro라는 계정을 만들어서 진행해보겠습니다.
kubectl create serviceaccount 사용할계정 -n kubernetes-dashboard
kubectl create clusterrolebinding 사용할계정 --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:사용할계정
kubectl -n kubernetes-dashboard create token 사용할계정

생성된 토큰을 넣어주면, 아래와 같이 로그인이 완료됩니다. kube

도커데스크탑 없이 설치하는것은 나중에... (충돌이 나서...) ## 이 강의에서는 도커데스크탑이 없는 것을 기본으로 합니다. # 서론 쿠버네티스를 설치하려고하면 처음부터 당황하게 된다. minikube, kubectl 등등.. 여기서 minikube는 이름에서도 알 수 있듯 미니버전이지만 노드가 1개로 제약되는등 실무환경을 구축하는 이 강의와 맞지 않기 때문에 무시하도록 하겠습니다. ### kubectl 쿠버네티스 클러스터와 통신하기 위한 명령어 도구 ### kubeadm 쿠버네티스 클러스터를 쉽게 설치하기 위한 도구 # 설치 - 윈도우 - https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ ``` # 파워쉘 - 관리자모드 # 설치 # 적당한 폴더로 이동 (필자는 "c:/k8s") 를 루트로 이용. mkdir c:/k8s cd c:/k8s $version = (Invoke-RestMethod -Uri "https://dl.k8s.io/release/stable.txt") Invoke-WebRequest -Uri "https://dl.k8s.io/release/$version/bin/windows/amd64/kubectl.exe" -OutFile "kubectl.exe" Invoke-WebRequest -Uri "https://dl.k8s.io/release/$version/bin/windows/amd64/kubeadm.exe" -OutFile "kubeadm.exe" Invoke-WebRequest -Uri "https://dl.k8s.io/release/$version/bin/windows/amd64/kubelet.exe" -OutFile "kubelet.exe" # 환경변수 등록 $newPath = "C:\k8s" [System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + $newPath, [System.EnvironmentVariableTarget]::Machine) # 파워쉘을 관리자모드로 다시실행한다. # 설치확인 kubectl version --client kubeadm version kubelet --version # 초기화 # 필자는 ip영역 신경쓰기 싫어서 가장 넓은 범위인 10영역으로 설정했다. # 192, 172, 10 중 마음에 드는 것으로 선택하시기 바랍니다. kubeadm init --pod-network-cidr=10.0.0.0/16 ``` - 리눅스 - https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/ - 맥OS - https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/ ``` # 설치확인 kubectl ```