– K3s –
K3s는 Rancher Labs에서 개발한 오픈소스 프로젝트로, 주로 리소스가 제한된 환경에서 사용하기 위해 고안된 경량화된 쿠버네티스이다.
장점
- 쉬운 설치 : 쉘 스크립트 하나로 대부분의 배포판에서 설치 가능하며, 설치 후에는 자동으로 systemd 서비스를 만들어 사용이 용이하다.
- 가벼움: 리소스 사용이 적어 다양한 환경에서 운영 가능하다.
- 쿠버네티스 기능 보유: 경량화 되었지만 쿠버네티스의 핵심 기능을 대부분 보유하고 있다.
단점
- 과거 버전의 API 미지원 : 기존 쿠버네티스에서 지원하는 과거 버전의 API를 지원하지 않는다는 단점이 있다.
1. K3s 설치
curl -sfL https://get.k3s.io | sh -
2. Kubeconfig 파일 복사
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config chown $USER:$USER ~/.kube/config
3. k3s 상태 확인
kubectl get node
4. K3s 대시보드 설치.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
5. 대시보드에 접근하기 위한 Service Account 생성
kubectl apply -f - <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard EOF
6. ClusterRoleBinding 생성
Kubernetes 클러스터 수준에서 특정 ServiceAccount에게 특정 ClusterRole을 할당하여 권한을 정의해준다.
kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard EOF
7. 대시보드 토큰 가져오기
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
8. Kubernetes Dashboard를 로컬 머신에서 접근하기 위해 프록시 설정
kubectl proxy
9. 웹 브라우저로 접속 및 확인
7번 과정에서 얻은 토큰을 입력하여 접근할 수 있다.
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login