Kubernetes ile İlk Deployment

Daha önce kurulumunu yapmış olduğumuz Kubernetes sisteminde nginx deployment için şu konfigürasyon kullanılabilir:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:  
  name: nginxsrv2
spec:
  selector:    
    app: nginx
  type: NodePort
  ports:  
  - name: http
    port: 80
    nodePort: 30036
    protocol: TCP

Bu yapıda containerlar 80 nolu port üzerinden yayın yaparken, servise vermiş olduğumuz NodePort sayesinde dış ortamdan trafik alınması sağlanıyor. Dışarıdan erişim için 30036 nolu port kullanılmaktadır.

Kubernetes Dashboard Kurulumu

Daha önceki Kubectl ile Uzak Bağlantı makalesindeki yöntem ile kendi bilgisayarınızı kullanarak uzak Kubernetes yapınızı kontrol edebilirsiniz. Bu yöntemi kullanarak dashboard kurulumu ve kullanımı kolayca yapılabilmekte.

Kurulum işlemi şu şekilde yapılabilir:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml

İşlem sonrası dashboard artık hazır. kubectl proxy ile isterseniz kendi bilgisayarınız üzerinden de dashboard arayüzüne erişebilirsiniz.

kubectl proxy

Artık http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=default adresi üzerinden dashboard erişimi sağlanabilir.

Son olarak token oluşturma sonrası dashboard ile oturum açma sağlanabilir.

kubectl create serviceaccount dashboard -n default
kubectl create clusterrolebinding dashboard-admin -n default --clusterrole=cluster-admin  --serviceaccount=default:dashboard
kubectl get secret $(kubectl get serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode