User Tools

Site Tools


wikiv1:dokuwiki_helm_deploy

Dokuwiki via helm

$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories
$ helm show values bitnami/dokuwiki > values.yaml
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

Serviço em dual stack

$ 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>

Ingress

wiki-ingress.yaml
---
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

Acesse

Para remover

$ helm uninstall wiki -n wiki-system
release "wiki" uninstalled

Referências

wikiv1/dokuwiki_helm_deploy.txt · Last modified: by 127.0.0.1