LoginSignup
0

More than 1 year has passed since last update.

LonghornでReadWriteManyを使用する方法

Posted at

TL;DL

LonghornがインストールされているK8sクラスタ内のノードに入って

sudo apt install nfs-common

を実行

Longhornのinstall

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.3.0/deploy/longhorn.yaml

LonghornUIにアクセスできるようにingressの設定

USER=<USERNAME_HERE>; PASSWORD=<PASSWORD_HERE>; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth
kubectl -n longhorn-system create secret generic basic-auth --from-file=auth

longhorn-ingress.ymlを作成

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: longhorn-ingress
  namespace: longhorn-system
  annotations:
    # type of authentication
    nginx.ingress.kubernetes.io/auth-type: basic
    # prevent the controller from redirecting (308) to HTTPS
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
    # name of the secret that contains the user/password definitions
    nginx.ingress.kubernetes.io/auth-secret: basic-auth
    # message to display with an appropriate context why the authentication is required
    nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required '
    # custom max body size for file uploading like backing image uploading
    nginx.ingress.kubernetes.io/proxy-body-size: 10000m
spec:
  rules:
  - http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: longhorn-frontend
            port:
              number: 80
kubectl -n longhorn-system apply -f longhorn-ingress.yml

K8sクラスタ内のノードにアクセスしてnfs-commonをinstall

sudo apt install nfs-common

PVC作成例

Longhornがinstallされている場合はPVCを作成すればPVCで要求したPVを自動作成してくれるのでPVCのみを記述すればOK

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-test
  labels:
    <PVと接続したいPodのラベル>
spec:
  storageClassName: longhorn
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi

参考文献

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0