kubernetes / minikube

Run Kubernetes locally
https://minikube.sigs.k8s.io/
Apache License 2.0
29.24k stars 4.87k forks source link

ingress add on issue | UBUNTU 22.04LTS | Driver Docker #19491

Open EKI-INDRADI-PRIEDS opened 1 month ago

EKI-INDRADI-PRIEDS commented 1 month ago

What Happened?

ubuntu@local-vm-sv-prod-kubernetes:~$ minikube start --driver=docker
πŸ˜„  minikube v1.33.0 on Ubuntu 22.04
✨  Using the docker driver based on existing profile
πŸ‘  Starting "minikube" primary control-plane node in "minikube" cluster
🚜  Pulling base image v0.0.43 ...
πŸ”„  Restarting existing docker container for "minikube" ...
🐳  Preparing Kubernetes v1.30.0 on Docker 26.0.1 ...
πŸ”Ž  Verifying Kubernetes components...
    β–ͺ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: default-storageclass, storage-provisioner
πŸ„  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
ubuntu@AZRN-VM-SV-PROD-KUBERNETES:~/KUBERNETES_FILE/service$ kubectl version --client
#Client Version: v1.31.0
#Kustomize Version: v5.4.2

ubuntu@AZRN-VM-SV-PROD-KUBERNETES:~/KUBERNETES_FILE/service$ minikube update-check
#CurrentVersion: v1.33.0
#LatestVersion: v1.33.1
minikube ip
# 192.168.49.2

sudo nano /etc/hosts
#192.168.49.2 ingress.nginx.local
minikube addons list
# |-----------------------------|----------|--------------|--------------------------------|
# |         ADDON NAME          | PROFILE  |    STATUS    |           MAINTAINER           |
# |-----------------------------|----------|--------------|--------------------------------|
# | ambassador                  | minikube | disabled     | 3rd party (Ambassador)         |
# | auto-pause                  | minikube | disabled     | minikube                       |
# | cloud-spanner               | minikube | disabled     | Google                         |
# | csi-hostpath-driver         | minikube | disabled     | Kubernetes                     |
# | dashboard                   | minikube | disabled     | Kubernetes                     |
# | default-storageclass        | minikube | enabled βœ…   | Kubernetes                     |
# | efk                         | minikube | disabled     | 3rd party (Elastic)            |
# | freshpod                    | minikube | disabled     | Google                         |
# | gcp-auth                    | minikube | disabled     | Google                         |
# | gvisor                      | minikube | disabled     | minikube                       |
# | headlamp                    | minikube | disabled     | 3rd party (kinvolk.io)         |
# | helm-tiller                 | minikube | disabled     | 3rd party (Helm)               |
# | inaccel                     | minikube | disabled     | 3rd party (InAccel             |
# |                             |          |              | [info@inaccel.com])            |
# | ingress                     | minikube | disabled     | Kubernetes                     |
# | ingress-dns                 | minikube | disabled     | minikube                       |
# | inspektor-gadget            | minikube | disabled     | 3rd party                      |
# |                             |          |              | (inspektor-gadget.io)          |
# | istio                       | minikube | disabled     | 3rd party (Istio)              |
# | istio-provisioner           | minikube | disabled     | 3rd party (Istio)              |
# | kong                        | minikube | disabled     | 3rd party (Kong HQ)            |
# | kubeflow                    | minikube | disabled     | 3rd party                      |
# | kubevirt                    | minikube | disabled     | 3rd party (KubeVirt)           |
# | logviewer                   | minikube | disabled     | 3rd party (unknown)            |
# | metallb                     | minikube | disabled     | 3rd party (MetalLB)            |
# | metrics-server              | minikube | disabled     | Kubernetes                     |
# | nvidia-device-plugin        | minikube | disabled     | 3rd party (NVIDIA)             |
# | nvidia-driver-installer     | minikube | disabled     | 3rd party (Nvidia)             |
# | nvidia-gpu-device-plugin    | minikube | disabled     | 3rd party (Nvidia)             |
# | olm                         | minikube | disabled     | 3rd party (Operator Framework) |
# | pod-security-policy         | minikube | disabled     | 3rd party (unknown)            |
# | portainer                   | minikube | disabled     | 3rd party (Portainer.io)       |
# | registry                    | minikube | disabled     | minikube                       |
# | registry-aliases            | minikube | disabled     | 3rd party (unknown)            |
# | registry-creds              | minikube | disabled     | 3rd party (UPMC Enterprises)   |
# | storage-provisioner         | minikube | enabled βœ…   | minikube                       |
# | storage-provisioner-gluster | minikube | disabled     | 3rd party (Gluster)            |
# | storage-provisioner-rancher | minikube | disabled     | 3rd party (Rancher)            |
# | volumesnapshots             | minikube | disabled     | Kubernetes                     |
# | yakd                        | minikube | disabled     | 3rd party (marcnuri.com)       |
# |-----------------------------|----------|--------------|--------------------------------|

minikube addons enable ingress
# * ingress is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub.
# You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS
#   - Using image registry.k8s.io/ingress-nginx/controller:v1.10.0
#   - Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0
#   - Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0
# * Verifying ingress addon...
# * The 'ingress' addon is enabled

minikube addons list
# |-----------------------------|----------|--------------|--------------------------------|
# |         ADDON NAME          | PROFILE  |    STATUS    |           MAINTAINER           |
# |-----------------------------|----------|--------------|--------------------------------|
# | ambassador                  | minikube | disabled     | 3rd party (Ambassador)         |
# | auto-pause                  | minikube | disabled     | minikube                       |
# | cloud-spanner               | minikube | disabled     | Google                         |
# | csi-hostpath-driver         | minikube | disabled     | Kubernetes                     |
# | dashboard                   | minikube | disabled     | Kubernetes                     |
# | default-storageclass        | minikube | enabled βœ…   | Kubernetes                     |
# | efk                         | minikube | disabled     | 3rd party (Elastic)            |
# | freshpod                    | minikube | disabled     | Google                         |
# | gcp-auth                    | minikube | disabled     | Google                         |
# | gvisor                      | minikube | disabled     | minikube                       |
# | headlamp                    | minikube | disabled     | 3rd party (kinvolk.io)         |
# | helm-tiller                 | minikube | disabled     | 3rd party (Helm)               |
# | inaccel                     | minikube | disabled     | 3rd party (InAccel             |
# |                             |          |              | [info@inaccel.com])            |
# | ingress                     | minikube | enabled βœ…   | Kubernetes                     |
# | ingress-dns                 | minikube | disabled     | minikube                       |
# | inspektor-gadget            | minikube | disabled     | 3rd party                      |
# |                             |          |              | (inspektor-gadget.io)          |
# | istio                       | minikube | disabled     | 3rd party (Istio)              |
# | istio-provisioner           | minikube | disabled     | 3rd party (Istio)              |
# | kong                        | minikube | disabled     | 3rd party (Kong HQ)            |
# | kubeflow                    | minikube | disabled     | 3rd party                      |
# | kubevirt                    | minikube | disabled     | 3rd party (KubeVirt)           |
# | logviewer                   | minikube | disabled     | 3rd party (unknown)            |
# | metallb                     | minikube | disabled     | 3rd party (MetalLB)            |
# | metrics-server              | minikube | disabled     | Kubernetes                     |
# | nvidia-device-plugin        | minikube | disabled     | 3rd party (NVIDIA)             |
# | nvidia-driver-installer     | minikube | disabled     | 3rd party (Nvidia)             |
# | nvidia-gpu-device-plugin    | minikube | disabled     | 3rd party (Nvidia)             |
# | olm                         | minikube | disabled     | 3rd party (Operator Framework) |
# | pod-security-policy         | minikube | disabled     | 3rd party (unknown)            |
# | portainer                   | minikube | disabled     | 3rd party (Portainer.io)       |
# | registry                    | minikube | disabled     | minikube                       |
# | registry-aliases            | minikube | disabled     | 3rd party (unknown)            |
# | registry-creds              | minikube | disabled     | 3rd party (UPMC Enterprises)   |
# | storage-provisioner         | minikube | enabled βœ…   | minikube                       |
# | storage-provisioner-gluster | minikube | disabled     | 3rd party (Gluster)            |
# | storage-provisioner-rancher | minikube | disabled     | 3rd party (Rancher)            |
# | volumesnapshots             | minikube | disabled     | Kubernetes                     |
# | yakd                        | minikube | disabled     | 3rd party (marcnuri.com)       |
# |-----------------------------|----------|--------------|--------------------------------|

kubectl get all --namespace kube-system
# NAME                                   READY   STATUS    RESTARTS       AGE
# pod/coredns-7db6d8ff4d-76r4c           1/1     Running   5 (73m ago)    2d5h
# pod/etcd-minikube                      1/1     Running   5 (73m ago)    2d5h
# pod/kube-apiserver-minikube            1/1     Running   5 (73m ago)    2d5h
# pod/kube-controller-manager-minikube   1/1     Running   5 (73m ago)    2d5h
# pod/kube-proxy-2g8vm                   1/1     Running   5 (73m ago)    2d5h
# pod/kube-scheduler-minikube            1/1     Running   5 (73m ago)    2d5h
# pod/storage-provisioner                1/1     Running   10 (72m ago)   2d5h

# NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
# service/kube-dns   ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   2d5h

# NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
# daemonset.apps/kube-proxy   1         1         1       1            1           kubernetes.io/os=linux   2d5h

# NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
# deployment.apps/coredns   1/1     1            1           2d5h

# NAME                                 DESIRED   CURRENT   READY   AGE
# replicaset.apps/coredns-7db6d8ff4d   1         1         1       2d5h
kubectl get svc --all-namespaces
# default         kubernetes                           ClusterIP   10.96.0.1        <none>        443/TCP                      4m8s
# ingress-nginx   ingress-nginx-controller             NodePort    10.97.136.163    <none>        80:31601/TCP,443:31950/TCP   105m
# ingress-nginx   ingress-nginx-controller-admission   ClusterIP   10.105.115.109   <none>        443/TCP                      105m
# kube-system     kube-dns                             ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP,9153/TCP       2d7h

kubectl get pod --all-namespaces
# NAMESPACE       NAME                                       READY   STATUS      RESTARTS        AGE
# ingress-nginx   ingress-nginx-admission-create-9v262       0/1     Completed   0               115m
# ingress-nginx   ingress-nginx-admission-patch-75t7r        0/1     Completed   0               115m
# ingress-nginx   ingress-nginx-controller-84df5799c-kpcbv   1/1     Running     0               115m
# kube-system     coredns-7db6d8ff4d-76r4c                   1/1     Running     5 (3h2m ago)    2d7h
# kube-system     etcd-minikube                              1/1     Running     5 (3h2m ago)    2d7h
# kube-system     kube-apiserver-minikube                    1/1     Running     5 (3h2m ago)    2d7h
# kube-system     kube-controller-manager-minikube           1/1     Running     5 (3h2m ago)    2d7h
# kube-system     kube-proxy-2g8vm                           1/1     Running     5 (3h2m ago)    2d7h
# kube-system     kube-scheduler-minikube                    1/1     Running     5 (3h2m ago)    2d7h
# kube-system     storage-provisioner                        1/1     Running     10 (3h1m ago)   2d7h

TESTING

kubectl delete all --all 

mkdir -p /home/ubuntu/KUBERNETES_FILE/service && 
cd /home/ubuntu/KUBERNETES_FILE/service && 
nano service_nginx_with_ingress.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: pod-nginx-with-ingress
spec:
  replicas: 3
  selector:
    matchLabels:
      app-selector: app-pod-nginx-with-ingress
  template:
    metadata:
      name: pod-nginx-with-ingress
      labels:
        app-selector: app-pod-nginx-with-ingress
    spec:
      containers:
        - name: nginx-320
          image: nginx:stable-alpine3.20
          ports:
            - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: service-nginx-with-ingress
spec:
  selector:
    app-selector: app-pod-nginx-with-ingress
  ports:
    - port: 80
      targetPort: 80

---

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx-with-ingress
  labels:
    name: ingress-nginx-with-ingress
spec:
  rules:
    - host: ingress.nginx.local
      http:
        paths:
          - path: /
            backend:
              serviceName: service-nginx-with-ingress
              servicePort: 80
cd /home/ubuntu/KUBERNETES_FILE/service &&
kubectl create -f service_nginx_with_ingress.yaml  --namespace default
# replicaset.apps/pod-nginx-with-ingress created
# service/service-nginx-with-ingress created
# error: resource mapping not found for name: "ingress-nginx-with-ingress" namespace: "" from "service_nginx_with_ingress.yaml": no matches for kind "Ingress" in version "networking.k8s.io/v1beta1"
# ensure CRDs are installed first

ERROR

replicaset.apps/pod-nginx-with-ingress created
service/service-nginx-with-ingress created
error: resource mapping not found for name: "ingress-nginx-with-ingress" namespace: "" from "service_nginx_with_ingress.yaml": no matches for kind "Ingress" in version "networking.k8s.io/v1beta1"
ensure CRDs are installed first

Attach the log file

none

Operating System

Ubuntu

Driver

Docker