LPS:Kubernetes/Projekty
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