minikube ingress

host(win) -> nginx -> vm(centos) -> docker(minikube) -> ingress-controller -> ingress -> svc -> pod
host(win) -> nginx -> vm(centos) -> docker(minikube) -> ingress-controller -> ingress -> svc.externalname -> svc.k8_dash -> pod

win.chrome:







http://all.minikube.cn/dash/  http://all.minikube.cn/dash  为什么不一样啊
多个/就行...
搞不明白 还是域名好用啊 虽然多一步加dns, 不过简单直接. path虽然灵活, 但规则配置不好就崴泥了. 另外不知道是什么原因. 

转kubernetes-dashboard的时候得把后面的path保留 用hello-app就啥事都没.. 


query-exporter也是一样的情形, 需要 metrics那个path
应该和应用的行为有关

# for dash.minikube.cn ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: dash.minikube.cn
      http:
        paths:
          - path: /(.*)
            pathType: Prefix
            backend:
              service:
                name: kubernetes-dashboard
                port:
                  number: 80
          - path: /dash/(.*)
            pathType: Prefix
            backend:
              service:
                name: kubernetes-dashboard
                port:
                  number: 80
# for (web1|web2|all).minikube.cn ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: web1.minikube.cn
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web1
                port:
                  number: 8080
    - host: web2.minikube.cn
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web2
                port:
                  number: 8080
    - host: all.minikube.cn
      http:
        paths:
          - path: /web1
            pathType: Prefix
            backend:
              service:
                name: web1
                port:
                  number: 8080
          - path: /web2
            pathType: Prefix
            backend:
              service:
                name: web2
                port:
                  number: 8080
          - path: /(web3)
            pathType: Prefix
            backend:
              service:
                name: web1
                port:
                  number: 8080
          - path: /(web4)
            pathType: Prefix
            backend:
              service:
                name: web2
                port:
                  number: 8080
          - path: /query/(.*)
            pathType: Prefix
            backend:
              service:
                name: query-exporter-bbc
                port:
                  number: 9560
          - path: /dash/(.*)
            pathType: Prefix
            backend:
              service:
                name: kubernetes-dashboard
                port:
                  number: 80
    #nginx config for (web1|web2|all|dash).minikube.cn
    server {
        listen       80 ;
        listen       [::]:80;
        server_name  web1.minikube.cn;
        root         /usr/share/nginx/html;
	
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
	
        location / {
          proxy_pass http://web1.minikube.cn;
        }
    }
	
    server {
        listen       80;
        listen       [::]:80;
        server_name  web2.minikube.cn;
        root         /usr/share/nginx/html;
	
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
	
        location / {
          proxy_pass http://web2.minikube.cn;
        }
    }
	
	
    server {
        listen       80;
        listen       [::]:80;
        server_name  all.minikube.cn;
        root         /usr/share/nginx/html;
	
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
	
	
        location / {
          proxy_pass http://all.minikube.cn;
        }
    }

    server {
        listen       80;
        listen       [::]:80;
        server_name  dash.minikube.cn;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;


        location / {
          proxy_pass http://dash.minikube.cn;
        }
    }
posted @ 2021-01-10 20:19  jimlist  阅读(372)  评论(0)    收藏  举报