wikiv3:wiki_kube_nfs
Dokuwiki nfs dynamic
$ kubectl create namespace wiki-system
namespace/wiki-system created
- claim-nfs.yaml
--- 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: <none> 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: <none> 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: <none>
$ 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: <none> 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: <none> 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
- dokuwiki-deployment.yaml
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 <none> <none> 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
- dokuwiki-service.yaml
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
- wiki-ingress.yaml
--- 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 <none> 443/TCP 21h calico-system calico-kube-controllers-metrics ClusterIP 10.96.248.255 <none> 9094/TCP 21h calico-system calico-typha ClusterIP 10.96.247.112 <none> 5473/TCP 21h default kubernetes ClusterIP 10.96.0.1 <none> 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 <none> 443/TCP 14h kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 45h wiki-system dokuwiki NodePort fd00:0:0:100::3 <none> 80:30772/TCP,443:31022/TCP 14h wiki dokuwiki NodePort 10.96.162.196 <none> 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 <none> 80:30772/TCP,443:31022/TCP 14h
$ kubectl describe service dokuwiki -n wiki-system Name: dokuwiki Namespace: wiki-system Labels: app=dokuwiki Annotations: <none> 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: <none>
$ 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: <none> Namespace: wiki-system Address: 172.28.128.100 Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>) Rules: Host Path Backends ---- ---- -------- wiki.juntotelecom.com.br / dokuwiki:8080 () Annotations: <none> Events: <none>
wikiv3/wiki_kube_nfs.txt · Last modified: by 127.0.0.1
