I’m new to Kubernetes, and am learning how create a cluster and access application through domain name using ingress. I did follow below steps:
- Created kubernetes cluster attached acr repository.
- Created helm repo, and made changes
deployment.yaml
<code>apiVersion: apps/v1
kind: Deployment
metadata:
name: az-kub-demo
labels:
app: az-kub-demo
spec:
replicas: 3
selector:
matchLabels:
app: az-kub-demo
template:
metadata:
labels:
app: az-kub-demo
spec:
containers:
- name: az-kub-demo
image: myacr.azurecr.io/az-kub-demo:v1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: az-kub-demo-service
spec:
selector:
app: az-kub-demo
ports:
- protocol: TCP
name: http
port: 80
targetPort: 8080
type: ClusterIP
</code>
<code>apiVersion: apps/v1
kind: Deployment
metadata:
name: az-kub-demo
labels:
app: az-kub-demo
spec:
replicas: 3
selector:
matchLabels:
app: az-kub-demo
template:
metadata:
labels:
app: az-kub-demo
spec:
containers:
- name: az-kub-demo
image: myacr.azurecr.io/az-kub-demo:v1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: az-kub-demo-service
spec:
selector:
app: az-kub-demo
ports:
- protocol: TCP
name: http
port: 80
targetPort: 8080
type: ClusterIP
</code>
apiVersion: apps/v1
kind: Deployment
metadata:
name: az-kub-demo
labels:
app: az-kub-demo
spec:
replicas: 3
selector:
matchLabels:
app: az-kub-demo
template:
metadata:
labels:
app: az-kub-demo
spec:
containers:
- name: az-kub-demo
image: myacr.azurecr.io/az-kub-demo:v1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: az-kub-demo-service
spec:
selector:
app: az-kub-demo
ports:
- protocol: TCP
name: http
port: 80
targetPort: 8080
type: ClusterIP
-
Created Azure DNS Zone
-
Set Azure DNS Zone name servers to the domain provider (namecheap in my case). It is more than 48hrs now.
-
Updated ingress.yaml as below
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- host: "mydomainname.xyz"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: az-kub-demo-service
port:
number: 80
</code>
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- host: "mydomainname.xyz"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: az-kub-demo-service
port:
number: 80
</code>
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- host: "mydomainname.xyz"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: az-kub-demo-service
port:
number: 80
- helm install
Added cluster IP to DNS Zone record set
<code>@ A 3600 10.0.121.32
* A 3600 10.0.121.32
</code>
<code>@ A 3600 10.0.121.32
* A 3600 10.0.121.32
</code>
@ A 3600 10.0.121.32
* A 3600 10.0.121.32
However, application is not accessible with mydomainname.xyz
. Not sure if anything is remaining or configured incorrectly.