标签: docker-ingress

Ingress 和 Ingress 控制器有什么区别?

我在 GCP 上使用 k8s。需要设置入口来设置 TLS 连接,所以我为我的应用程序设置了入口,它有效!!!
顺便说一句,什么是入口控制器,就像Nginx 入口控制器

我确信入口创建新的负载均衡器并通过 http 请求提供应用程序服务。但是设置 nginx 控制器有什么意义,您可以使用注释为 nginx 设置小配置。

kubernetes docker-ingress

11
推荐指数
3
解决办法
5125
查看次数

仪表板的入口配置

我从github做了nginx入口控制器教程并公开了kubernetes仪表板

kubernetes-dashboard   NodePort    10.233.53.77    <none>        443:31925/TCP   20d
Run Code Online (Sandbox Code Playgroud)

创造了入口

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.org/ssl-backends: "kubernetes-dashboard"
    kubernetes.io/ingress.allow-http: "false"
  name: dashboard-ingress
  namespace: kube-system
spec:
  tls:
  - hosts:
    - serverdnsname
    secretName: kubernetes-dashboard-certs
  rules:
  - host: serverdnsname
    http:
      paths:
      - path: /dashboard
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 443
Run Code Online (Sandbox Code Playgroud)
ingress-nginx   ingress-nginx          NodePort    10.233.21.200   <none>        80:30827/TCP,443:32536/TCP   5h
Run Code Online (Sandbox Code Playgroud)

https:// serverdnsname:32536 /仪表板 但仪表板抛出错误

2018/01/18 14:42:51 http: TLS handshake error from ipWhichEndsWith.77:52686: tls: first record does not look like a TLS handshake
Run Code Online (Sandbox Code Playgroud)

和入口控制器日志

2018/01/18 14:42:51 …
Run Code Online (Sandbox Code Playgroud)

dashboard nginx kubernetes docker-ingress

11
推荐指数
3
解决办法
2万
查看次数

具有 Ingress 设置的 GKE 始终显示状态不健康

首先,我在https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer 上测试了教程

这工作正常。我还测试了相同的教程,但也添加了一个 tls 秘密来测试 https,它也运行良好。

当我创建自己的图像时,我的问题就出现了。这是我采取的步骤:

  1. Dockerfile:
     # 我们将我们的舞台标记为“builder”
     FROM node:9.4.0-alpine 作为构建器

     复制 package.json package-lock.json ./

     ## 将节点模块存储在单独的层上将防止在每次构建时安装不必要的 npm
     运行 npm i && mkdir /srv/cs-ui && cp -R ./node_modules ./srv/cs-ui

     工作目录 /srv/cs-ui

     复制 。.

     ## 在生产模式下构建 angular 应用程序并将工件存储在 dist 文件夹中
     运行 $(npm bin)/ng build --environment "prod"

     从 nginx

     ## 复制我们的默认 nginx 配置
     复制 nginx/default.conf /etc/nginx/conf.d/

     ##删除默认的nginx网站
     运行 rm -rf /usr/share/nginx/html/*

     ## 从“builder”阶段将 dist 文件夹中的工件复制到默认的 nginx nginx 公共文件夹
     复制 --from=builder /srv/cs-ui/dist /usr/share/nginx/html/
  1. Dockerfile 与 docker-compose 文件一起运行,如下所示:
版本:'2'
服务: …

google-cloud-platform kubernetes google-kubernetes-engine docker-ingress

6
推荐指数
1
解决办法
1110
查看次数

如何在docker swarm中同时允许主机联网和入口?

我有一个小型计算机网络,捆绑到一个 Docker 群中。我正在运行一个需要主机网络的服务,当它在专用节点上运行时就很好了。

但我想让它在任何节点上运行 - 同时保持通过连接到固定主机名/IP 地址来访问其 Web UI 的能力,无论服务实际运行在哪个节点上。

这通常由 docker 的入口网络处理,它允许我连接到任何节点 IP 地址上的已发布端口,并将连接路由到正确的节点。但是,显然这不适用于主机网络,如果我明确指定入口网络,它会被拒绝。

那么,有没有一种方法既可以拥有主机网络,又可以保留入口路由?或者让我连接到服务而不用担心它在任何给定时刻运行在哪个节点上的推荐方法是什么?

编辑:

我的堆栈文件如下:

version: '3'
services:
  app:
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - ...
    privileged: true
    deploy:
      replicas: 1
      restart_policy:
        condition: any
      placement:
        constraints:
          - node.hostname==nas
    networks:
      - host

networks:
  host:
    external: true
Run Code Online (Sandbox Code Playgroud)

docker-swarm docker-ingress

6
推荐指数
0
解决办法
458
查看次数

将IP列入白名单以使用Kubernetes Ingress Istio访问部署

我正在尝试将IP列入白名单以访问Kubernetes集群中的部署。

我在网上寻找了一些与此有关的文档,但我只发现了

ingress.kubernetes.io/whitelist-source-range
Run Code Online (Sandbox Code Playgroud)

允许入口授予某些IP范围的访问权限。但是,我仍然无法隔离部署。

这是入口配置YAML文件:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-internal
  annotations:
    kubernetes.io/ingress.class: "istio"
    ingress.kubernetes.io/whitelist-source-range: "xxx.xx.xx.0/24, xx.xxx.xx.0/24"
spec:
  rules:
  - host: white.example.com
    http:
      paths:
      - backend:
          serviceName: white
          servicePort: 80
Run Code Online (Sandbox Code Playgroud)

我可以从列入白名单的IP和移动电话(未在配置中列入白名单的IP)访问部署

有人使用Ingress和Istio解决了相同的问题吗?

任何帮助,提示,文档或替代配置将不胜感激。

whitelist kubernetes docker-ingress istio kubernetes-security

5
推荐指数
1
解决办法
1315
查看次数

Docker swarm:节点未加入入口网络

我在玩 Docker swarm,
我有一个三节点集群、1 个管理器和 2 个工作节点。我正在使用VIP我的所有服务。

我有一个奇怪的情况,我重新启动了工作节点。
我执行docker node ls了,工作节点是Ready.
docker service ls会告诉我工人中容器的复制很好。
问题:我无法通过入口网络加入节点。其他节点中的容器无法访问该工作节点中的容器。

我检查了它们都加入入口网络的容器。
我从同一个节点内卷曲容器,他们做出了回应。
我从容器 ping 服务名称(在同一个故障节点中)并且它工作正常。
我从经理那里卷曲了工人容器中的工人容器不起作用!
我蜷缩着工人的 IP 地址,他们回应了。

我重新启动了工作节点,但问题仍然存在,然后我重新启动了整个集群,它再次运行了!

对我刚刚目睹的事情有什么解释吗?
我最担心这会发生在生产环境中。

先感谢您。

docker docker-swarm docker-ingress

4
推荐指数
1
解决办法
1328
查看次数

不同数据中心之间的 Docker 覆盖网络

全部。我正在学习 Docker。但仍然找不到任何关于 Docker ingress 网络如何连接多个独立主机的文档。

我在不同的数据中心有 2 个虚拟机,想要在它们上创建 swarm 集群。默认安装的入口网络是否有可能使 vm1 上的容器对某个覆盖网络内 vm2 上的容器可见?或者 vm1 和 vm2 应该位于同一个本地网络中?

docker docker-ingress

3
推荐指数
1
解决办法
2434
查看次数