Helm paket yöneticisini daha önceden kurmadıysanız aşağıdaki yazım üzerinden ilk olarak kurulumu gerçekleştirin.
Longhorn reposunu helm’e ekleyelim.
helm repo add longhorn https://charts.longhorn.ioRepoyu update edelim
helm repo updateLonghorn’u kubernetes üzerinde kaldıralım
helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespaceKurulum biraz vakit alacaktır. Tüm podların sorunsuz çalıştığından emin olalım.
kubectl -n longhorn-system get podNAME                                        READY   STATUS    RESTARTS   AGE
csi-attacher-5f46994f7-cg5km                1/1     Running   0          31s
csi-attacher-5f46994f7-kkhmq                1/1     Running   0          31s
csi-attacher-5f46994f7-rhhrw                1/1     Running   0          31s
csi-provisioner-6ccbfbf86f-crfgg            1/1     Running   0          31s
csi-provisioner-6ccbfbf86f-p47ch            1/1     Running   0          31s
csi-provisioner-6ccbfbf86f-tl7mp            1/1     Running   0          31s
csi-resizer-6dd8bd4c97-22ztk                1/1     Running   0          30s
csi-resizer-6dd8bd4c97-2x6ft                1/1     Running   0          30s
csi-resizer-6dd8bd4c97-k24ns                1/1     Running   0          30s
csi-snapshotter-86f65d8bc-5nltl             1/1     Running   0          30s
csi-snapshotter-86f65d8bc-fwnns             1/1     Running   0          30s
csi-snapshotter-86f65d8bc-wf4fv             1/1     Running   0          30s
engine-image-ei-fa2dfbf0-6qs77              1/1     Running   0          72s
engine-image-ei-fa2dfbf0-mnmdm              1/1     Running   0          72s
engine-image-ei-fa2dfbf0-pb8g2              1/1     Running   0          72s
instance-manager-e-0a4ba5f6                 1/1     Running   0          70s
instance-manager-e-62515edc                 1/1     Running   0          52s
instance-manager-e-ab0f896a                 1/1     Running   0          71s
instance-manager-r-4f7e39d9                 1/1     Running   0          70s
instance-manager-r-763043d8                 1/1     Running   0          71s
instance-manager-r-7f4dde11                 1/1     Running   0          52s
longhorn-csi-plugin-9f7w5                   2/2     Running   0          30s
longhorn-csi-plugin-fcbfw                   2/2     Running   0          30s
longhorn-csi-plugin-swwr5                   2/2     Running   0          30s
longhorn-driver-deployer-6db849975f-tnq8r   1/1     Running   0          98s
longhorn-manager-2fhct                      1/1     Running   0          98s
longhorn-manager-5w4b8                      1/1     Running   0          98s
longhorn-manager-648w9                      1/1     Running   1          98s
longhorn-ui-6f547c964-frvxr                 1/1     Running   0          98sDaha sonra uygulamanın dashboard kısmını webden görüntülemek için Ingress oluşturun.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    field.cattle.io/publicEndpoints: '[{"addresses":["10.0.0.100"],"port":80,"protocol":"HTTP","serviceName":"longhorn-system:longhorn-frontend","ingressName":"longhorn-system:longhorn","hostname":"longhorn.sezer.test","path":"/","allNodes":true}]'
  creationTimestamp: "2022-02-26T11:05:03Z"
  generation: 2
  managedFields:
  - apiVersion: networking.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:field.cattle.io/publicEndpoints: {}
      f:spec:
        f:ingressClassName: {}
        f:rules: {}
    manager: agent
    operation: Update
    time: "2022-02-26T11:06:15Z"
  - apiVersion: networking.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:loadBalancer:
          f:ingress: {}
    manager: nginx-ingress-controller
    operation: Update
    time: "2022-02-26T11:06:15Z"
  name: longhorn
  namespace: longhorn-system
  resourceVersion: "13646754"
  uid: 6c6e63ca-5575-4bb3-95a5-fc8a52c49a5f
spec:
  ingressClassName: nginx
  rules:
  - host: longhorn.sezer.test
    http:
      paths:
      - backend:
          service:
            name: longhorn-frontend
            port:
              number: 80
        path: /
        pathType: Prefix
status:
  loadBalancer:
    ingress:
    - ip: 10.0.0.100
NOT: Ayrıca longhorn front-end kısmı herhangi bir auth gerektirmeden giriş yapılabildiği için ingress içerisine basic auth ekleyebilirsiniz.
Basic Auth
Öncelikle aşağıdaki komutu kendimize göre düzenleyelim. “foo kullanıcı adı bar şifre olarak aşağıdaki komutta yer almakta”
USER=foo; PASSWORD=bar; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> authKomut auth adlı dosyaya bilgileri yazacaktır.
cat authfoo:$apr1$FnyKCYKb$6IP2C45fZxMcoLwkOwf7k0
Auth dosyasını longhorn secret ‘a ekleyelim
kubectl -n longhorn-system create secret generic basic-auth --from-file=authsecret/basic-auth createdArdından ingress’e annotations kısmına aşağıdaki değişkenleri ekleyelim
  annotations:
    nginx.ingress.kubernetes.io/auth-type: basic
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
    nginx.ingress.kubernetes.io/auth-secret: basic-auth
    nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required '
    nginx.ingress.kubernetes.io/proxy-body-size: 10000m
Artık front-end kısmına giriş yaptığınız zaman kullanıcı adı – şifre soracaktır.

