Развернем WordPress с помощью ArgoCD и Helm.
Наш тестовый кластер вместо привычных MicroK8s и minikube сегодня будем запускать с помощью KinD. LoadBalancer в данном примере рассматривать не будем, ставим локально, воспользуемся port-forward.
Устанавливаем на Ubuntu 22.04 LTS, где уже установлены Helm, Docker, kubectl.
Установим KinD
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
Создадим кластер из одной master ноды и двух worker
nano kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
kind create cluster --config kind-config.yaml
Установим ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl get all -n argocd
Сделаем port-forward
kubectl port-forward -n argocd svc/argocd-server 5555:80 --address 0.0.0.0
Для логина в ArgoCD выполним и скопируем пароль
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Пройдем по адресу 192.168.2.170:5555 (у вас будет свой) и залогинимся
admin и пароль из команды выше
Слева выбираем Settings -> Repositories -> Connect Repo -> VIA HTTPS -> выбираем helm вместо git -> задаем имя wordpress -> project default -> repository URL -> https://charts.bitnami.com/bitnami -> Connect

Далее слева Applications -> New App -> зададим имя wordpress-website -> project default -> Sync Policy Automatic -> установим галочки на Prune Resources, Self Heal и Auto-Create Namespace -> Source Repository URL -> https://charts.bitnami.com/bitnami -> Chart -> wordpress справа выбираем самую последнюю версию (на данный момент 22.4.8) -> Destination Cluster URL -> https://kubernetes.default.svc -> Namespace -> wordpress -> Вверху нажимаем Create
Нажмем на wordpress-website чтобы провалиться и наблюдаем за процессом создания

Проверим
kubectl get all -n wordpress
Так как мы делаем не в облаке, и без LoadBalancer, снова port-forward
kubectl port-forward -n wordpress svc/wordpress-website 7777:80 --address 0.0.0.0
Переходим по адресу 192.168.2.170:7777 (у вас будет свой) и видим наш WordPress

Чтобы зайти в админку
192.168.2.170:7777/admin
Получим логин и пароль
kubectl -n wordpress get secret wordpress-website -o jsonpath="{.data.wordpress-password}" | base64 --decode
Логинимся user и пароль из команды выше

Поздравляю с успешной установкой
P.S. В идеале стоило бы запустить LoadBalancer, чтобы не делать port-forward и развернуть все это в облаке, но для простого примера работы Helm и ArgoCD подойдет.