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.

