kubernetes dashboard , metallb 가이드
1. MetalLB
1) MetalLB 란 ?
MetalLB는 표준 라우팅 프로토콜을 사용하여 베어 메탈 (깡통) Kubernetes 클러스터에 대한 로드 밸런서 구현
2) 설치 방법
# mkdir ~/metallb
# cd metallb
# kubectl create ns metallb-system
# kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml
3) configMap 설정
# vi metal-config.yaml
- LB로 사용할 IP 대역을 설정한다. (필자는 111.50 ~ 111.200 대역을 사용할 예정이다)
apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.111.50-192.168.111.200 |
# kubectl apply -f metal-config.yaml
kubernetes dashboard를 설치 후 metallb가 정상 동작하는지 확인 하도록 하자.
** 간혹 secret 에러가 발생 할 경우 조치 사항
# kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" |
2. Kubernetes Dashboard
1) Kubernetes는 일반적으로 커맨드 라인 도구인 kubectl을 사용하여 관리 한다. 관리의 불편함이 발생 할 수 있기에
WEB UI 인 대시보드를 제공 한다.
2) 설치 방법
# kubectl apply- f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
# kubectl get svc -A
* dashboard에 LoadBalancer 타입을 적용하여 metallb가 정상동작 됬는지 확인한다.
# kubectl edit svc -n kubernetes-dashboard kubernetes-dashboard
type: ClusterIP -> type: LoadBalancer 변경 후 저장
** 대시보드가 LoadBalancer 상태가 되었는지 확인 해보자
* EXTERNAL-IP에 MetalLB에서 설정한 IP대역이 정상적으로 확인 되었다.
* EXTERNAL-IP(192.168.111.50)로 접속하여 대시보드가 정상 동작 되는지 확인해보자
3) 계정 생성
쿠버네티스 대시보드에 접속 하여 쿠버네티스를 통제할 수 있는 계정을 생성하고 권한 부여를 한다.
# vi server-account.yaml
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system |
# vi cluster-role-binding.yaml
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: kube-system |
# kubectl apply -f service-account.yaml
# kubectl apply -f cluster-role-binding.yaml
4) 대시보드 접속 - 대시보드를 접속하기 위해서는 token이 필요하다. token을 추출하여 접속해보자
# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') Name: admin-user-token-79qlz Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name: admin-user kubernetes.io/service-account.uid: cd6e16aa-1eef-4a95-b489-a10a4396d5e8 Type: kubernetes.io/service-account-token Data ==== token: eyJhbGci~~~~~~~~~~~~~~~~~~~~~ ca.crt: 1099 bytes namespace: 11 bytes |
* token을 추출하여 대시보드에 접속한다. -> token : eyJhbGci~~~~ 복사후 토큰 입력(아래창)
이로써 쿠버네티스 설치와 MetalLB, Dashboard 설치가 끝이났다.
'Kubernetes > Kuberenetes 설치' 카테고리의 다른 글
Ingress 설치 (0) | 2022.12.05 |
---|---|
Monitoring 구축 (prometheus, grafana) (0) | 2022.12.02 |
NFS-Client-Provisioner 설치 (0) | 2022.12.02 |
argoCD 설치 방법 (0) | 2022.12.02 |
Kubernetes 설치 1/2 (0) | 2021.11.15 |