Docker 桌面上的 Kubernetes Ingress

标签 kubernetes docker-desktop

我正在尝试使用 Nginx ingress 访问我本地电脑上的 kubernetes 仪表板。我遵循的步骤是:

获取 nginx 入口

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/cloud/deploy.yaml

获取 kubernetes 仪表板

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

应用这个入口

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard-ingress
  namespace: kubernetes-dashboard
spec:
  rules:
  - host: "kubernetes.docker.internal"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:          
            name: kubernetes-dashboard
            port: 
              number: 443

检查我的主机文件是否有这一行

127.0.0.1 kubernetes.docker.internal

如果我尝试打开 http://kubernetes.docker.internal/在我的浏览器上我收到“Http 错误 400 此页面无法正常工作”,而在 postman 上我收到错误 400 消息“客户端向 HTTPS 服务器发送了一个 HTTP 请求。”

我该如何解决?

最佳答案

我决定在入口 yaml 中添加注释部分。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard-ingress
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  rules:
  - host: "kubernetes.docker.internal"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:          
            name: kubernetes-dashboard
            port: 
              number: 443

关于Docker 桌面上的 Kubernetes Ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68623707/

相关文章:

Kubernetes Persistent Volumes 删除初始文件

kubernetes - 在同一 namespace 的服务层隔离 secret

docker - 是否可以将 docker hub 公开托管的镜像部署到 Kubernetes Container Engine 而无需将其上传到 Containers Registery?

azure - 从 k8s 解析 yaml 配置映射数据

windows - 在 Windows 上使用 docker 桌面(不是 minikube)找不到 NGINX Ingress 404

kubernetes - Kubernetes-容器上的Calico CrashLoopBack

docker - 从现有容器中分离主机上的另一个容器

macos - xdebug 在 Mac 的 Docker Desktop 中不起作用

Docker 桌面吃掉所有内存并崩溃

sql-server - 升级到 WSL2 后映射卷时 MSSQL 容器无法启动