Setup Nginx Ingress controller in existing K8s setup


//it create a new namespace and deployment 

PS C:\Users\booba> kubectl.exe apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml

namespace/ingress-nginx created

serviceaccount/ingress-nginx created

serviceaccount/ingress-nginx-admission created

role.rbac.authorization.k8s.io/ingress-nginx created

role.rbac.authorization.k8s.io/ingress-nginx-admission created

clusterrole.rbac.authorization.k8s.io/ingress-nginx created

clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created

rolebinding.rbac.authorization.k8s.io/ingress-nginx created

rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created

clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created

clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created

configmap/ingress-nginx-controller created

service/ingress-nginx-controller created

service/ingress-nginx-controller-admission created

deployment.apps/ingress-nginx-controller created

job.batch/ingress-nginx-admission-create created

job.batch/ingress-nginx-admission-patch created

ingressclass.networking.k8s.io/nginx created

validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created

PS C:\Users\booba>


//I wanted to create in existing namespace


apiVersion: apps/v1

kind: Deployment

metadata:

  name: nginx-ingress-controller

  namespace: akilan

spec:

  replicas: 1

  selector:

    matchLabels:

      app: nginx-ingress

  template:

    metadata:

      labels:

        app: nginx-ingress

    spec:

      containers:

      - name: nginx-ingress-controller

        image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.34.1

        args:

        - /nginx-ingress-controller

        - --configmap=$(POD_NAMESPACE)/nginx-configuration

        env:

        - name: POD_NAME

          valueFrom:

            fieldRef:

              fieldPath: metadata.name

        - name: POD_NAMESPACE

          valueFrom:

            fieldRef:

              fieldPath: metadata.namespace

        ports:

        - name: http

          containerPort: 80

        - name: https

          containerPort: 443


//save this file in .yaml and run


PS C:\Users\booba> kubectl.exe apply -f .\nginx-ingress-deployment
.yaml
deployment.apps/nginx-ingress-controller created
PS C:\Users\booba>



apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress-service
  namespace: akilan
spec:
  type: NodePort
  selector:
    app: nginx-ingress
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 32080
    - protocol: TCP
      port: 443
      targetPort: 443
      nodePort: 32443



//still is processing seems some error
PS C:\Users\booba> kubectl.exe -n akilan get pods
NAME                                       READY   STATUS             RESTARTS   AGE
my-microservice-769b859845-dqm7b           1/1     Running            0          38m
nginx-ingress-controller-9c9b9b7f7-wr5g4   0/1     ImagePullBackOff   0          38m


PS C:\Users\booba> kubectl.exe -n akilan get deployments -o wide
NAME                       READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS                 IMAGES
              SELECTOR
my-microservice            1/1     1            1           85d   my-microservice            nginx:latest
              run=my-microservice
nginx-ingress-controller   0/1     1            0           89m   nginx-ingress-controller   quay.io/kubernetes-ingress-controller/nginx-ingress-contro
ller:0.34.1   app=nginx-ingress
PS C:\Users\booba>


Post a Comment

0 Comments