Helm/PhpMyAdmin: Difference between revisions
Jump to navigation
Jump to search
Line 68: | Line 68: | ||
|} | |} | ||
==Create Secret== | |||
<syntaxhighlight lang="php"> | |||
cat <<-'PHP' | kubectl -n phpmyadmin create secret generic config-inc-php --from-file=config.inc.php=/dev/stdin | |||
<?php | |||
declare(strict_types=1); | |||
$cfg['blowfish_secret'] = '3zxp0lOKWGD97uA3uWHOoVCkn6FKgN5r'; | |||
$i = 0; | |||
$i++; | |||
$cfg['Servers'][$i]['auth_type'] = 'cookie'; | |||
$cfg['Servers'][$i]['host'] = 'mariadb.mariadb'; | |||
$cfg['Servers'][$i]['port'] = '3306'; | |||
$cfg['Servers'][$i]['compress'] = false; | |||
$cfg['Servers'][$i]['AllowNoPassword'] = false; | |||
$i++; | |||
$cfg['Servers'][$i]['auth_type'] = 'cookie'; | |||
$cfg['Servers'][$i]['host'] = 'host.minikube.internal'; | |||
$cfg['Servers'][$i]['port'] = '3306'; | |||
$cfg['Servers'][$i]['compress'] = false; | |||
$cfg['Servers'][$i]['AllowNoPassword'] = false; | |||
/* User used to manipulate with storage */ | |||
$cfg['Servers'][$i]['controlhost'] = 'host.minikube.internal'; | |||
$cfg['Servers'][$i]['controlport'] = '3306'; | |||
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin'; | |||
$cfg['Servers'][$i]['controlpass'] = 'sadaqah!'; | |||
/* Storage database and tables */ | |||
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; | |||
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; | |||
$cfg['Servers'][$i]['relation'] = 'pma_relation'; | |||
$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; | |||
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; | |||
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; | |||
$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; | |||
$cfg['Servers'][$i]['history'] = 'pma_history'; | |||
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; | |||
$cfg['Servers'][$i]['tracking'] = 'pma_tracking'; | |||
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; | |||
$cfg['Servers'][$i]['recent'] = 'pma_recent'; | |||
$cfg['Servers'][$i]['favorite'] = 'pma_favorite'; | |||
$cfg['Servers'][$i]['users'] = 'pma_users'; | |||
$cfg['Servers'][$i]['usergroups'] = 'pma_usergroups'; | |||
$cfg['Servers'][$i]['navigationhiding'] = 'pma_navigationhiding'; | |||
$cfg['Servers'][$i]['savedsearches'] = 'pma_savedsearches'; | |||
$cfg['Servers'][$i]['central_columns'] = 'pma_central_columns'; | |||
$cfg['Servers'][$i]['designer_settings'] = 'pma_designer_settings'; | |||
$cfg['Servers'][$i]['export_templates'] = 'pma_export_templates'; | |||
$cfg['UploadDir'] = ''; | |||
$cfg['SaveDir'] = ''; | |||
//$cfg['RowActionType'] = 'icons'; | |||
//$cfg['ShowAll'] = true; | |||
//$cfg['MaxRows'] = 50; | |||
//$cfg['ProtectBinary'] = false; | |||
//$cfg['DefaultLang'] = 'en'; | |||
//$cfg['PropertiesNumColumns'] = 2; | |||
//$cfg['QueryHistoryDB'] = true; | |||
//$cfg['QueryHistoryMax'] = 100; | |||
//$cfg['SendErrorReports'] = 'always'; | |||
//$cfg['URLQueryEncryption'] = true; | |||
//$cfg['URLQueryEncryptionSecretKey'] = ''; | |||
$cfg['AllowArbitraryServer'] = true; | |||
PHP | |||
</syntaxhighlight> | |||
==Patch » config== | ==Patch » config== |
Revision as of 00:34, 16 November 2024
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update && helm repo list kubectl config get-contexts
Config
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
Install
helm show values bitnami/phpmyadmin --version=17.0.0|less
helm show values bitnami/phpmyadmin --version=17.0.9|less
|
kubectl get ns|grep phpmyadmin
kubectl delete ns phpmyadmin
|
kubectl get ns|grep phpmyadmin
kubectl create ns phpmyadmin
|
| ||
cat <<YML | helm -n phpmyadmin install phpmyadmin bitnami/phpmyadmin --version=17.0.9 -f -
---
ingress:
enabled: true
ingressClassName: nginx
hostname: mariadb.k8s.local
path: /
fullnameOverride: phpmyadmin
YML
| ||
| ||
echo -n password: ;read -s MYSQL_PWD;export MYSQL_PWD;echo
mariadb -hmariadb.k8s.local -p3306 -uacademia academia
mariadb -hmariadb.k8s.local -p3306 -uroot mysql
|
echo -n password: ;read -s MYSQL_PWD;export MYSQL_PWD;echo
mariadb 'mariadb://[email protected]:3306/academia'
mariadb 'mariadb://[email protected]:3306/mysql'
|
Create Secret
cat <<-'PHP' | kubectl -n phpmyadmin create secret generic config-inc-php --from-file=config.inc.php=/dev/stdin
<?php
declare(strict_types=1);
$cfg['blowfish_secret'] = '3zxp0lOKWGD97uA3uWHOoVCkn6FKgN5r';
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'mariadb.mariadb';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'host.minikube.internal';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = 'host.minikube.internal';
$cfg['Servers'][$i]['controlport'] = '3306';
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'sadaqah!';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';
$cfg['Servers'][$i]['favorite'] = 'pma_favorite';
$cfg['Servers'][$i]['users'] = 'pma_users';
$cfg['Servers'][$i]['usergroups'] = 'pma_usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma_navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma_savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma_central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma_designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma_export_templates';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
//$cfg['RowActionType'] = 'icons';
//$cfg['ShowAll'] = true;
//$cfg['MaxRows'] = 50;
//$cfg['ProtectBinary'] = false;
//$cfg['DefaultLang'] = 'en';
//$cfg['PropertiesNumColumns'] = 2;
//$cfg['QueryHistoryDB'] = true;
//$cfg['QueryHistoryMax'] = 100;
//$cfg['SendErrorReports'] = 'always';
//$cfg['URLQueryEncryption'] = true;
//$cfg['URLQueryEncryptionSecretKey'] = '';
$cfg['AllowArbitraryServer'] = true;
PHP
Patch » config
kubectl -n phpmyadmin get deploy/phpmyadmin -oyaml|yq '.spec.template.spec.containers[]|select(.name=="phpmyadmin").volumeMounts[]|select(.name=="myadmin-config" and .subPath=="config.inc.php")'
kubectl -n phpmyadmin get deploy/phpmyadmin -oyaml|yq '.spec.template.spec.containers[]|select(.name=="phpmyadmin").volumeMounts[]|select(.name=="myadmin-config")'
kubectl -n phpmyadmin get deploy/phpmyadmin -oyaml|yq '.spec.template.spec.volumes[] |select(.name=="myadmin-config")'
cat <<YML | kubectl -n phpmyadmin patch deploy/phpmyadmin --patch-file=/dev/stdin
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin
namespace: phpmyadmin
spec:
template:
spec:
containers:
- name: phpmyadmin
volumeMounts:
- name: myadmin-config
mountPath: /opt/bitnami/phpmyadmin/config.inc.php
subPath: config.inc.php
volumes:
- name: myadmin-config
configMap:
name: config-inc-php
items:
- key: config.inc.php
path: config.inc.php
YML
Uninstall
helm uninstall -n phpmyadmin phpmyadmin
kubectl delete namespace phpmyadmin
Swiss Knife
kubectl -n mariadb run -i --tty --rm mariadb-client --image=alpine --restart=Never -- sh
echo -n password: ;read -s MYSQL_PWD;export MYSQL_PWD; echo
apk --update add --no-cache mariadb-client inetutils-telnet
mariadb -hmariadb.mariadb.svc.cluster.local -uroot academia
mariadb -hmariadb.mariadb.svc -uroot academia
mariadb -hmariadb.mariadb -uroot academia
mariadb -hmariadb -uroot academia
Playground
helm -n phpmyadmin install phpmyadmin bitnami/phpmyadmin --version=17.0.0
helm -n phpmyadmin upgrade -i phpmyadmin bitnami/phpmyadmin --version=17.0.9
helm show values bitnami/phpmyadmin --version=17.0.9|less
| |
| |
kubectl -n phpmyadmin exec -it svc/phpmyadmin -c phpmyadmin -- mariadb -hhost.minikube.internal -uchorke -p
kubectl -n phpmyadmin exec -it svc/phpmyadmin -- cat /opt/bitnami/phpmyadmin/config.inc.php
kubectl -n phpmyadmin exec -it svc/phpmyadmin -- ls -lah /opt/bitnami/phpmyadmin/|grep config
kubectl -n phpmyadmin exec -it svc/phpmyadmin -c phpmyadmin -- bash
kubectl -n phpmyadmin exec -it svc/phpmyadmin -- mariadb --help
| |
| |
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten
| |
| |
kubectl -n phpmyadmin delete all --all
kubectl -n phpmyadmin delete ing --all
kubectl -n phpmyadmin delete sts --all
|
kubectl -n phpmyadmin delete svc --all
kubectl -n phpmyadmin delete pvc --all
kubectl -n phpmyadmin delete pv --all
|
| |
kubectl -n phpmyadmin rollout history deploy phpmyadmin
kubectl -n phpmyadmin rollout restart deploy phpmyadmin
kubectl -n phpmyadmin rollout status deploy phpmyadmin
|
kubectl -n phpmyadmin exec -it svc/phpmyadmin -- mariadb --help
kubectl -n phpmyadmin logs -f svc/phpmyadmin -c phpmyadmin
kubectl -n phpmyadmin logs -f svc/phpmyadmin
|
References
| ||