Kubernetes kurulumundan sonra, dashboard’ın deploy edilip erişilebilir hale getirmek için aşağıdaki adımlar takip edilmelidir.

Dashboard Arayüzünü Deploy Etme

Dashboard kullanıcı arayüzü varsayılan olarak konuşlandırılmamıştır. Dağıtmak (deploy) için aşağıdaki komutu çalıştırın:

Küme verilerinizi korumak için, Dashboard varsayılan olarak en az bir RBAC yapılandırması ile konuşlandırır. Bu dokümanın yazıldığı tarihte, Dashboard yalnızca Bearer Token ile giriş yapmayı destekler.


vi dashboard-service.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
YML

vi dashboard-adminuser.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: kubernetes-dashboard
YML


kubectl apply -f dashboard-service.yaml
kubectl apply -f dashboard-adminuser.yaml

kubectl create clusterrolebinding permissive-binding --clusterrole=cluster-admin --user=admin --user=kubelet --group=system:serviceaccounts
kubectl create clusterrolebinding kubernetes-dashboard -n kube-system --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
POWERSHELL

vi dashboard-deployment.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
YML
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml
POWERSHELL

NodePort Ayarı

Kubernetes dashboard yukarıdaki adımlar ile kurulduğunda varsayılan olarak ClusterIP ile açacaktır. Dışarıdan erişim için Service içindeki değeri aşağıdaki gibi değiştirmeliyiz.

kubectl -n kubernetes-dashboard edit service kubernetes-dashboard
POWERSHELL
apiVersion: v1
...
  name: kubernetes-dashboard
  namespace: kube-system
  resourceVersion: "343478"
  selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard-head
  uid: 8e48f478-993d-11e7-87e0-901b0e532516
spec:
  clusterIP: <YOUR_CLUSTER_IP>
  externalTrafficPolicy: Cluster
  ports:
  - port: 443
    protocol: TCP
    targetPort: 8443
    nodePort: 32100
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}
YML


Daha sonra Dashboard'un bulunduğu bağlantı noktasını kontrol etmemiz gerekiyor. Aşağıdakine benzer bir servis görüntüsü olmalıdır.

kubectl -n kubernetes-dashboard get service kubernetes-dashboard

NAME                    TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   <YOUR_CLUSTER_IP>   <none>        443:32100/TCP   13d
POWERSHELL


Dashboard 32100 numaralı bağlantı noktasında (HTTPS) görüntülendi. Artık tarayıcınızdan erişebilirsiniz: https://<YOUR_CLUSTER_IP>:32100.


Token Almak:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | awk '/^deployment-controller-token-/{print $1}') | awk '$1=="token:"{print $2}'
POWERSHELL