LPS:Kubernetes/Projekty

Z HelpDesk

Jak zalozit projekt v kubernetes. Muzeme pracovat primo na synergia, nebo si hrat u sebe (musis mit ale spravne nakonfigurovany kubectl.

Namespace

Vyrobime namespace (vyber vhodny nazev) a nastavime kvoty. Pridame pristup pres dashboard zadateli

helm template synergia-config/users/ --set 'namespace=projekt-production,users={zadatel-orion-login}' | kubectl apply -f -

Pokud si chceme predem prohlednout co se bude dit, vynech kubectl na konci prikazu.

Pokud uzivatel potrebuje i pristup pres api je treba pridat parametr `serviceaccount=[]`

Deployment

Deploymenty se muzou ruznit. Ukazeme priklad na wordpressu pres helm

Priklad helm chart wordpresu kfi

vyrobime konfiguraci helm chartu (napriklad values.yaml

 
service:
    type: ClusterIP

wordpressPassword: vymyslisuprheslo
mariadb:
    auth:
        password: oujeedalsiheslo
        rootPassword: ajestejednoabysetonepletlo

ingress:
    enabled: true
    ingressClassName: nginx
    hostname: kfi2.zcu.cz
    tls: true
    annotations:
        cert-manager.io/cluster-issuer: "letsencrypt-prod"
        nginx.ingress.kubernetes.io/proxy-body-size: "64m"

wordpressExtraConfigContent: |
    define( 'WP_CACHE', true ); // Added by WP Rocket

resources:
    requests:
        cpu: "1"
        memory: 1G

Nasledne aplikujeme

helm upgrade -i kfi --namespace kfi-production bitnami/wordpress -f values.yaml

Kopirovani dat mezi projekty

Vytahnout databazi

kubectl exec -n kss-199-production pod/kss2-mariadb-0 -- bash -c 'mysqldump -u $MARIADB_USER -p$MARIADB_PASSWORD $MARIADB_DATABASE' | gzip -c > kss.dump.gz

Vytahnout data

 kubectl exec -n kss-199-production kss2-wordpress-7967cf59f4-trr2n -- tar czf - -C /bitnami/wordpress wp-content/themes/ wp-content/uploads/ wp-content/plugins/ > kss-wp-content.tar.gz

Nandat data

cat kss-wp-content.tar.gz | kubectl exec -i socialniprace-wordpress-6fc8bbdcd8-bvnfg -- tar xzf - -C /bitnami/wordpress

Nandat db

zcat kss.dump.gz | kubectl exec -i socialniprace-mariadb-0 -- bash -c 'mysql -u $MARIADB_USER -p$MARIADB_PASSWORD $MARIADB_DATABASE'

Smazat deployment/aplikaci

Zde popisu jen smaznuti aplikace a jejich dat. Ruseni namespace ji jina zalezitost.

Vypsat jake aplikace v clusteru bezi (zajima nas hlavne nazev a namespace)

helm list -A

Smazat aplikaci

helm uninstall -n namespace-aplikace nazev-aplikace

Je nutny jeste smaznout persistentni volumy aplikace

# vylistovat volumy v namespace
kubectl get pvc -n namespace-aplikace
# smazat pvc
kubectl delete -n namespace-aplikace persistentvolumeclaim/apliakce-wordpress persistentvolumeclaim/aplikace-mariadb-0