Ngrok Ingress Controller for Kubernetes (Доступ к kubernetes кластеру из интернетов)
Делаю:
15.07.2023
Ни за что денег не платил. Все бесплатно, т.е. даром!
Статья:
https://ngrok.com/blog-post/ngrok-k8s
https://dashboard.ngrok.com/api - создать api key
$ helm repo add ngrok https://ngrok.github.io/kubernetes-ingress-controller
$ export NGROK_API_KEY=[YOUR Secret API KEY]
$ export NGROK_AUTHTOKEN=[YOUR Secret Auth Token]
$ helm install ngrok-ingress-controller ngrok/kubernetes-ingress-controller \
--set credentials.apiKey=$NGROK_API_KEY \
--set credentials.authtoken=$NGROK_AUTHTOKEN
Пример на основе приложения cats-app
$ git clone https://github.com/webmakaka/cats-app
$ cd cats-app/k8s/
$ kubectl apply -f ./cats-app-deployment.yaml
$ kubectl apply -f ./cats-app-cluster-ip-service.yaml
https://dashboard.ngrok.com/cloud-edge/domains - копируем домен
$ export NGROK_DOMAIN="hugely-amusing-owl.ngrok-free.app"
$ envsubst << 'EOF' | cat | kubectl create -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cats-app-ingress-service
spec:
ingressClassName: ngrok
rules:
- host: ${NGROK_DOMAIN}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minikube-cats-app-cluster-ip-service
port:
number: 8080
EOF
https://dashboard.ngrok.com/cloud-edge/endpoints
Перехожу по URL - приложение открылось