$ helm repo add bitnami https://charts.bitnami.com/bitnami "bitnami" has been added to your repositories
$ helm show values bitnami/dokuwiki > values.yaml
dokuwikiUsername: admin dokuwikiPassword: "YWRtaW4K" dokuwikiEmail: admin@juntotelecom.com.br dokuwikiFullName: Administrator Wiki dokuwikiWikiName: Wiki JuntoTelecom persistence: storageClass: "nfs-client" service: type: ClusterIP
$ kubectl create ns wiki-system
namespace/wiki-system created
$ helm install wiki -f values.yaml bitnami/dokuwiki -n wiki-system NAME: wiki LAST DEPLOYED: Fri May 13 12:31:54 2022 NAMESPACE: wiki-system STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: CHART NAME: dokuwiki CHART VERSION: 12.3.0 APP VERSION: 20200729.0.0 ** Please be patient while the chart is being deployed ** 1. Get the DokuWiki URL by running: export NODE_PORT=$(kubectl get --namespace wiki-system -o jsonpath="{.spec.ports[0].nodePort}" services wiki-dokuwiki) export NODE_IP=$(kubectl get nodes --namespace wiki-system -o jsonpath="{.items[0].status.addresses[0].address}") echo "URL: http://$NODE_IP:$NODE_PORT/" 2. Login with the following credentials echo Username: admin echo Password: $(kubectl get secret --namespace wiki-system wiki-dokuwiki -o jsonpath="{.data.dokuwiki-password}" | base64 --decode)
$ echo Password: $(kubectl get secret --namespace wiki-system wiki-dokuwiki -o jsonpath="{.data.dokuwiki-password}" | base64 --decode) Password: YWRtaW4K
$ helm list -n wiki-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION wiki wiki-system 1 2022-05-13 12:31:54.316578713 -0300 -03 deployed dokuwiki-12.3.0 20200729.0.0
$ kubectl get all -n wiki-system -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod/wiki-dokuwiki-fdc5dbc88-qlm2g 1/1 Running 0 75s 10.244.213.138 kube-worker-02.juntotelecom.com.br <none> <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/wiki-dokuwiki NodePort 10.96.35.202 <none> 80:30617/TCP,443:32665/TCP 75s app.kubernetes.io/instance=wiki,app.kubernetes.io/name=dokuwiki NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR deployment.apps/wiki-dokuwiki 1/1 1 1 75s dokuwiki docker.io/bitnami/dokuwiki:20200729.0.0-debian-10-r566 app.kubernetes.io/instance=wiki,app.kubernetes.io/name=dokuwiki NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR replicaset.apps/wiki-dokuwiki-fdc5dbc88 1 1 1 75s dokuwiki docker.io/bitnami/dokuwiki:20200729.0.0-debian-10-r566 app.kubernetes.io/instance=wiki,app.kubernetes.io/name=dokuwiki,pod-template-hash=fdc5dbc88
$ kubectl get pv,pvc -n wiki-system NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE persistentvolume/pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 8Gi RWO Delete Bound wiki-system/wiki-dokuwiki nfs-client 119s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/wiki-dokuwiki Bound pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 8Gi RWO nfs-client 119s
$ kubectl describe pv pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 -n wiki-system Name: pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 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/wiki-dokuwiki Reclaim Policy: Delete Access Modes: RWO VolumeMode: Filesystem Capacity: 8Gi 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-wiki-dokuwiki-pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 ReadOnly: false Events: <none>
$ kubectl describe pvc wiki-dokuwiki -n wiki-system Name: wiki-dokuwiki Namespace: wiki-system StorageClass: nfs-client Status: Bound Volume: pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223 Labels: app.kubernetes.io/instance=wiki app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=dokuwiki helm.sh/chart=dokuwiki-12.3.0 Annotations: meta.helm.sh/release-name: wiki meta.helm.sh/release-namespace: wiki-system 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: 8Gi Access Modes: RWO VolumeMode: Filesystem Used By: wiki-dokuwiki-fdc5dbc88-qlm2g Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ExternalProvisioning 3m52s 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 3m52s k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-7d976fc48b-7x2pg_a215ea7e-9ba4-4d70-9ad5-dde6b490b035 External provisioner is provisioning volume for claim "wiki-system/wiki-dokuwiki" Normal ProvisioningSucceeded 3m52s k8s-sigs.io/nfs-subdir-external-provisioner_nfs-client-provisioner-7d976fc48b-7x2pg_a215ea7e-9ba4-4d70-9ad5-dde6b490b035 Successfully provisioned volume pvc-14d94a74-5b61-4a1b-929b-6ed3c8816223
$ kubectl describe service wiki-dokuwiki -n wiki-system Name: wiki-dokuwiki Namespace: wiki-system Labels: app.kubernetes.io/instance=wiki app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=dokuwiki helm.sh/chart=dokuwiki-12.3.0 Annotations: meta.helm.sh/release-name: wiki meta.helm.sh/release-namespace: wiki-system Selector: app.kubernetes.io/instance=wiki,app.kubernetes.io/name=dokuwiki Type: NodePort IP Family Policy: SingleStack IP Families: IPv4 IP: 10.96.35.202 IPs: 10.96.35.202 Port: http 80/TCP TargetPort: http/TCP NodePort: http 30617/TCP Endpoints: 10.244.213.138:8080 Port: https 443/TCP TargetPort: https/TCP NodePort: https 32665/TCP Endpoints: 10.244.213.138:8443 Session Affinity: None External Traffic Policy: Cluster Events: <none>
$ kubectl edit service wiki-dokuwiki -n wiki-system
Adicione/altere:
ipFamilyPolicy: PreferDualStack ipFamilies: - IPv6 - IPv4
$ kubectl describe service wiki-dokuwiki -n wiki-system Name: wiki-dokuwiki Namespace: wiki-system Labels: app.kubernetes.io/instance=wiki app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=dokuwiki helm.sh/chart=dokuwiki-12.3.0 Annotations: meta.helm.sh/release-name: wiki meta.helm.sh/release-namespace: wiki-system Selector: app.kubernetes.io/instance=wiki,app.kubernetes.io/name=dokuwiki Type: NodePort IP Family Policy: PreferDualStack IP Families: IPv4,IPv6 IP: 10.96.35.202 IPs: 10.96.35.202,fd00:0:0:100::4909 Port: http 80/TCP TargetPort: http/TCP NodePort: http 30617/TCP Endpoints: 10.244.213.138:8080 Port: https 443/TCP TargetPort: https/TCP NodePort: https 32665/TCP Endpoints: 10.244.213.138:8443 Session Affinity: None External Traffic Policy: Cluster Events: <none>
--- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: creationTimestamp: null name: wiki namespace: wiki-system spec: ingressClassName: nginx rules: - host: wiki.juntotelecom.com.br http: paths: - backend: service: name: wiki-dokuwiki port: number: 80 path: / pathType: Prefix status: loadBalancer: {}
$ kubectl apply -f wiki-ingress.yaml ingress.networking.k8s.io/wiki created
$ kubectl get ingress -n wiki-system NAME CLASS HOSTS ADDRESS PORTS AGE wiki nginx wiki.juntotelecom.com.br 172.28.128.100 80 58s
$ kubectl describe ingress wiki -n wiki-system Name: wiki 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 / wiki-dokuwiki:80 (10.244.213.138:8080) Annotations: <none> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Sync 29s (x2 over 85s) nginx-ingress-controller Scheduled for sync
$ helm uninstall wiki -n wiki-system release "wiki" uninstalled