I am new for kubernetes and Have an issue for ingress nginx for external domain from godaddy. it is called " https://uat.test.com " .I created some yaml for nginx-ingress but I couldn't do that. How can I add "uat.test.com " to my kubernetes cluster by using nginx-ingress?
Below ; They are my steps for my funny and stressful advantures.
- Create group and namespace :
az group create --name aks-group --location eastus2
az aks create --resource-group aks-group --name aks-cluster --node-count 3 --generate-ssh-keys -s Standard_B2ms --disable-rbac
kubectl create namespace ingress-basic
- Credentials:
az aks get-credentials -g aks-group -n aks-cluster
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.43.0/deploy/static/provider/cloud/deploy.yaml
az aks get-credentials -g aks-group -n aks-cluster
kubectl --namespace ingress-basic get services -o wide -w nginx-ingress-ingress-nginx-controller
- install ingress-nginx:
helm install ingress-nginx ingress-nginx/ingress-nginx
helm repo update
helm install nginx-ingress ingress-nginx/ingress-nginx --namespace ingress-basic --set controller.replicaCount=2
kubectl --namespace ingress-basic get services -o wide -w nginx-ingress-ingress-nginx-control
aks-helloworld-one.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: aks-helloworld-one
spec:
replicas: 1
selector:
matchLabels:
app: aks-helloworld-one
template:
metadata:
labels:
app: aks-helloworld-one
spec:
containers:
- name: aks-helloworld-one
image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
ports:
- containerPort: 80
env:
- name: TITLE
value: "Welcome to Azure Kubernetes Service (AKS)"
---
apiVersion: v1
kind: Service
metadata:
name: aks-helloworld-one
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: aks-helloworld-one
kubectl apply -f aks-helloworld-one.yaml --namespace ingress-basic
aks-helloworld-two.yml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: aks-helloworld-two
spec:
replicas: 1
selector:
matchLabels:
app: aks-helloworld-two
template:
metadata:
labels:
app: aks-helloworld-two
spec:
containers:
- name: aks-helloworld-two
image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
ports:
- containerPort: 80
env:
- name: TITLE
value: "AKS Ingress Demo"
---
apiVersion: v1
kind: Service
metadata:
name: aks-helloworld-two
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: aks-helloworld-two
kubectl apply -f aks-helloworld-two.yaml --namespace ingress-basic
hello-world-ingress.yml:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hello-world-ingress
namespace: ingress-basic
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: uat.test.com
http:
paths:
- backend:
serviceName: aks-helloworld-one
servicePort: 80
path: /hello-world-one(/|$)(.*)
- backend:
serviceName: aks-helloworld-two
servicePort: 80
path: /hello-world-two(/|$)(.*)
- backend:
serviceName: aks-helloworld-one
servicePort: 80
path: /(.*)
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hello-world-ingress-static
namespace: ingress-basic
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /static/$2
spec:
rules:
- http:
paths:
- backend:
serviceName: aks-helloworld-one
servicePort: 80
path: /static(/|$)(.*)
kubectl apply -f hello-world-ingress.yaml
When I write address "https://uat.test.com "
Result or Error:
question from:
https://stackoverflow.com/questions/65846957/how-can-i-add-my-external-domain-uat-test-com-to-my-kubernetes-cluster-by-usi 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…