====== Dokuwiki nfs dynamic ====== $ kubectl create namespace wiki-system namespace/wiki-system created --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: nfs-claim-wiki namespace: wiki-system spec: accessModes: - ReadWriteMany storageClassName: nfs-client resources: requests: storage: 4Gi $ kubectl apply -f claim-nfs.yaml persistentvolumeclaim/nfs-claim-wiki created $ kubectl get pv,pvc -n wiki-system NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE persistentvolume/pvc-0bc5876b-4e33-4666-bac8-358c4f75435a 4Gi RWX Delete Bound wiki-system/nfs-claim-wiki nfs-client 75s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/nfs-claim-wiki Bound pvc-0bc5876b-4e33-4666-bac8-358c4f75435a 4Gi RWX nfs-client 75s $ kubectl describe pv pvc-0bc5876b-4e33-4666-bac8-358c4f75435a -n wiki-system Name: pvc-0bc5876b-4e33-4666-bac8-358c4f75435a Labels: Annotations: pv.kubernetes.io/provisioned-by: k8s-sigs.io/nfs-subdir-external-provisioner Finalizers: [kubernetes.io/pv-protection] StorageClass: nfs-client Status: Bound Claim: wiki-system/nfs-claim-wiki Reclaim Policy: Delete Access Modes: RWX VolumeMode: Filesystem Capacity: 4Gi Node Affinity: Message: Source: Type: NFS (an NFS mount that lasts the lifetime of a pod) Server: 172.28.128.126 Path: /nfs/kubedata/wiki-system-nfs-claim-wiki-pvc-0bc5876b-4e33-4666-bac8-358c4f75435a ReadOnly: false Events: $ kubectl describe pvc nfs-claim-wiki -n wiki-system Name: nfs-claim-wiki Namespace: wiki-system StorageClass: nfs-client Status: Bound Volume: pvc-0bc5876b-4e33-4666-bac8-358c4f75435a Labels: Annotations: pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.beta.kubernetes.io/storage-provisioner: k8s-sigs.io/nfs-subdir-external-provisioner volume.kubernetes.io/storage-provisioner: k8s-sigs.io/nfs-subdir-external-provisioner Finalizers: [kubernetes.io/pvc-protection] Capacity: 4Gi Access Modes: RWX VolumeMode: Filesystem Used By: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ExternalProvisioning 4m5s persistentvolume-controller waiting for a volume to be created, either by external provisioner "k8s-sigs.io/nfs-subdir-external-provisioner" or manually created by system administrator Normal Provisioning 4m5s k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-7d976fc48b-qdh2l_0a791334-90c3-4bab-8828-bc74aaf09ead External provisioner is provisioning volume for claim "wiki-system/nfs-claim-wiki" Normal ProvisioningSucceeded 4m5s k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-7d976fc48b-qdh2l_0a791334-90c3-4bab-8828-bc74aaf09ead Successfully provisioned volume pvc-0bc5876b-4e33-4666-bac8-358c4f75435a apiVersion: apps/v1 kind: Deployment metadata: labels: app: dokuwiki name: dokuwiki namespace: wiki-system spec: replicas: 1 selector: matchLabels: app: dokuwiki strategy: {} template: metadata: labels: app: dokuwiki spec: containers: - image: docker.io/bitnami/dokuwiki:latest name: dokuwiki imagePullPolicy: IfNotPresent ports: - containerPort: 8080 - containerPort: 8443 volumeMounts: - mountPath: /bitnami/dokuwiki name: dokuwiki-data volumes: - name: dokuwiki-data persistentVolumeClaim: claimName: nfs-claim-wiki $ kubectl apply -f dokuwiki-deployment.yaml deployment.apps/dokuwiki created $ kubectl get all -n wiki-system -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/dokuwiki-744884c8b7-dm7vc 1/1 Running 0 48s 10.244.101.68 kube-worker-01.juntotelecom.com.br NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/dokuwiki 1/1 1 1 48s dokuwiki docker.io/bitnami/dokuwiki:latest app=dokuwiki NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/dokuwiki-744884c8b7 1 1 1 48s dokuwiki docker.io/bitnami/dokuwiki:latest app=dokuwiki,pod-template-hash=744884c8b7 apiVersion: v1 kind: Service metadata: labels: app: dokuwiki name: dokuwiki namespace: wiki-system spec: clusterIP: fd00:0:0:100::3 ports: - name: "80" port: 80 targetPort: 8080 - name: "443" port: 443 targetPort: 8443 selector: app: dokuwiki type: NodePort status: loadBalancer: {} $ kubectl apply -f dokuwiki-service.yaml service/dokuwiki created --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: creationTimestamp: null name: dokuwiki namespace: wiki spec: ingressClassName: nginx rules: - host: wiki.juntotelecom.com.br http: paths: - backend: service: name: dokuwiki port: number: 8080 path: / pathType: Prefix status: loadBalancer: {} $ kubectl apply -f wiki-ingress.yaml ingress.networking.k8s.io/dokuwiki created $ kubectl get service -A NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE calico-apiserver calico-api ClusterIP 10.96.134.144 443/TCP 21h calico-system calico-kube-controllers-metrics ClusterIP 10.96.248.255 9094/TCP 21h calico-system calico-typha ClusterIP 10.96.247.112 5473/TCP 21h default kubernetes ClusterIP 10.96.0.1 443/TCP 45h ingress-nginx ingress-nginx-controller LoadBalancer fd00:0:0:100::1 2804:694:4c00:4007::115 80:30726/TCP,443:32525/TCP 14h ingress-nginx ingress-nginx-controller-admission ClusterIP fd00:0:0:100::2 443/TCP 14h kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 45h wiki-system dokuwiki NodePort fd00:0:0:100::3 80:30772/TCP,443:31022/TCP 14h wiki dokuwiki NodePort 10.96.162.196 80:30303/TCP,443:31771/TCP 39h $ kubectl get service -n wiki-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dokuwiki NodePort fd00:0:0:100::3 80:30772/TCP,443:31022/TCP 14h $ kubectl describe service dokuwiki -n wiki-system Name: dokuwiki Namespace: wiki-system Labels: app=dokuwiki Annotations: Selector: app=dokuwiki Type: NodePort IP Family Policy: SingleStack IP Families: IPv6 IP: fd00:0:0:100::3 IPs: fd00:0:0:100::3 Port: 80 80/TCP TargetPort: 8080/TCP NodePort: 80 30772/TCP Endpoints: [fd00::33:2603:770f:59b3:71c4]:8080 Port: 443 443/TCP TargetPort: 8443/TCP NodePort: 443 31022/TCP Endpoints: [fd00::33:2603:770f:59b3:71c4]:8443 Session Affinity: None External Traffic Policy: Cluster Events: $ kubectl get ingress -n wiki-system NAME CLASS HOSTS ADDRESS PORTS AGE dokuwiki nginx wiki.juntotelecom.com.br 172.28.128.100 80 14h $ kubectl describe ingress dokuwiki -n wiki-system Name: dokuwiki Labels: Namespace: wiki-system Address: 172.28.128.100 Default backend: default-http-backend:80 () Rules: Host Path Backends ---- ---- -------- wiki.juntotelecom.com.br / dokuwiki:8080 () Annotations: Events: