Перейти к основному контенту

3. Патчим ingress

Без этого показывает 404. ELMA365 размещена в namespace default:

#!/usr/bin/env bash

nodesCount=$(microk8s kubectl get nodes -l elma365.com/node=initial --no-headers 2>/dev/null | wc -l)
if [[ $nodesCount -eq 0 ]]; then
  microk8s kubectl label node --all elma365.com/node=initial --overwrite=true
fi

while true
do
  # microk8s enable storage dns rbac ingress linkerd && break
  microk8s enable storage dns rbac ingress && break
  sleep 5
done

if [ "$ELMA365_INSTALL_MODE" != "upgrade" ]; then
  microk8s kubectl patch ds/nginx-ingress-microk8s-controller -n ingress --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/args", "value":["/nginx-ingress-controller","--configmap=$(POD_NAMESPACE)/nginx-load-balancer-microk8s-conf","--tcp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-tcp-microk8s-conf","--udp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-udp-microk8s-conf"," ","--publish-status-address=127.0.0.1"]}]'

  sleep 15

  echo "Patching the ingress k8s version 1.21"
  microk8s kubectl patch role nginx-ingress-microk8s-role -n ingress --type='json' -p='[{"op": "add", "path":"/rules/3", "value":{"apiGroups":[""],"resourceNames":["ingress-controller-leader"],"resources":["configmaps"],"verbs":["create","update"]}}]'
  microk8s kubectl patch configmap nginx-load-balancer-microk8s-conf -n ingress --type='merge' -p='{"data":{"annotation-value-word-blocklist":"[\"load_module,lua_package,_by_lua,root,serviceaccount\"]"}}'
  microk8s kubectl rollout restart ds/nginx-ingress-microk8s-controller -n ingress

  sleep 15
fi

echo "Waiting for disk provisioner"
while true
do
  microk8s kubectl -n kube-system wait --for=condition=Ready --timeout=1200s pod -l k8s-app=hostpath-provisioner > /dev/null 2>&1 && break
  sleep 5
done

microk8s status --wait-ready > /dev/null