k8s는 대시보드 웹서비스를 제공한다. [Docs]
바로 설치해 사용해보자.
1. 대시보드 구축
먼저 k8s를 사용하기 위해 yaml 파일을 수정하자.
필자는 MetalLB와 Ingress를 사용하기에 대시보드 deployment를 이에 연동해야 한다.
공식 yaml에 다음 내용을 추가하자.
$ wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml $ vim recommended.yaml
# recommended.yaml 추가 내용
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: LoadBalancer
loadBalancerIP: 10.10.10.10
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kubernetes-dashboard-ingress
namespace: kubernetes-dashboard
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- "kube.aaa.bbb.com"
secretName: wildcard-tls
rules:
- host: kube.aaa.bbb.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kubernetes-dashboard
port:
number: 443
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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
필자는 이미 kubernetes-dashboard 네임스페이스에 유효한 TLS 인증서(wildcard-tls)를 가지고 있으므로 HTTPS를 서비스할 수 있다.
그러나 대시보드 서비스는 기본적으로 HTTPS로 제공되기에 백엔드 프로토콜(HTTP)과의 괴리가 발생할 수 있다. (이 경우 400 에러가 발생한다)
이를 해결하기 위해 metadata.annotations에 backend-protocol을 HTTPS로 설정하는 구문을 추가하여야 한다.
이제 대시보드에 접속하기 위한 계정을 생성해야 한다. [Github]
2. 토큰 생성
k8s 대시보드는 기본적으로 bearer 토큰과 kubeconfig를 이용한 로그인을 강제한다.
그보다는 ID/PW로 로그인하는 게 편하지만 권장 사항이 아니므로 토큰을 이용해 로그인하기로 한다.
(사실 ID/PW 로그인 방법을 찾아보았으나 설정이 만만치 않다)
아래 명령어를 입력하면 토큰이 나온다.
토큰은 1회용인데다 시간 제한이 있으니 주의하자.
$ kubectl -n kubernetes-dashboard create token admin-user
3. 로그인
이제 대시보드에 접속해보자. (필자는 이전 글에 세팅된 환경에 따라 kube.aaa.bbb.com를 통해 접속하였다)

출력되는 토큰을 이용해 대시보드에 로그인하면 된다.

Interesting take on risk assessment! It mirrors choices in games – knowing when to push & when to fold. Speaking of options, binggoplus casino offers diverse games & easy deposits – a fun way to test your strategy!