【问题标题】:How to use Ingress Nginx Controller to route traffic to private pods Internally如何使用 Ingress Nginx 控制器在内部将流量路由到私有 Pod
【发布时间】:2022-02-19 03:00:31
【问题描述】:

问题:我目前在我的 EKS 集群中使用 ingress-nginx 将流量路由到需要公共访问的服务。

我的用例:我想在同一个集群中部署服务,但不希望它们具有公共访问权限。我只希望 pod 与集群内的所有其他服务进行通信。这些 pod 是私有的,因为它们是后端服务,只需要 pod 到 pod 的通信。如何为此目的修改我的入口资源?

集群架构:所有服务都在集群的私有子网中,而负载均衡器在公共子网中

附加说明:我正在使用external-dns 为托管区域动态创建子域。托管区域是公共的

谢谢

以下是我的service.ymlingress.yml 用于公共服务。我想为私人服务修改这些文件

service.yml

apiVersion: v1
kind: Service
metadata:
  name: myapp
  namespace: myapp 
  annotations:
    external-dns.alpha.kubernetes.io/hostname: myapp.dev.com
spec:
  ports:
    - port: 80
      targetPort: 3000
  selector:
    app: myapp

ingress.yml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp
  namespace: myapp 
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: "nginx"
  labels:
    app: myapp
spec:
  tls:
  - hosts:
  - myapp.dev.com
  secretName: myapp-staging
  rules:
  - host: myapp.dev.com
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: 'myapp'
              port:
                number: 80

【问题讨论】:

  • 你用的是什么kubernetes版本?
  • @Bazhikov Kubenetes 1.21

标签: amazon-web-services kubernetes-ingress amazon-eks nginx-ingress external-dns


【解决方案1】:

据此,您拥有的 Ingress 应该可以工作,并且您的服务应该是私有的(如果您在公共云集群中这样设置),除了 Ingress 本身。您可以更新 ConfigMap 以使用 PROXY 协议,以便将代理信息传递给 Ingress Controller:

kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-config
  namespace: nginx-ingress
data:
  proxy-protocol: "True"
  real-ip-header: "proxy_protocol"
  set-real-ip-from: "0.0.0.0/0"

然后:kubectl apply -f common/nginx-config.yaml

现在您可以使用指定的名称部署任何您想要私有的应用程序(例如,您提供的 yaml 文件中的 myapp 服务。

如果您是 Kubernetes Networking 的新手,那么 this article 对您或在 Kubernetes 官方文档中会很有用

Here你可以找到其他可能对你有用的ELB注解

【讨论】:

  • 很好的帮助和很好的资源
猜你喜欢
  • 2020-02-12
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2022-12-09
相关资源
最近更新 更多