django - Ingress 和 Ingress controller 如何将它们与 NodePort 服务一起使用?

标签 django kubernetes kubernetes-ingress google-kubernetes-engine nginx-ingress

我有一个服务在 NodePort 服务上运行。我如何使用入口访问多个服务。

部署.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth
  template:
    metadata:
      labels:
        app: auth
        tier: backend
        track: dev
    spec:
      containers:
        - name: auth
          image: [url]/auth_app:v2
          ports:
            - name: auth
              containerPort: 3000

服务.yml

apiVersion: v1
kind: Service
metadata:
  name: auth
spec:
  selector:
    app: auth
    tier: backend
  ports:
    - protocol: TCP
      port: 3000
      targetPort: auth
  type: NodePort

入口.yml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: auth
    servicePort: 8080

我从这个 repo 一步步跟着.我无法让它为我的端口配置工作。 我是初学者,想要一些相同的资源。

最佳答案

尝试这些 list 并记住部署一个 Ingress Controller(我通常使用 traefik,here 一些说明来设置它)

service.yml:我把NodePort改成了ClusterIP(默认,可以去掉那一行)

apiVersion: v1
kind: Service
metadata:
  name: auth
spec:
  selector:
    app: auth
    tier: backend
  ports:
    - protocol: TCP
      port: 3000
      targetPort: auth
  type: ClusterIP

ingress.yml:(我设置端口为3000,你的服务端口)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: auth
    servicePort: 3000

关于django - Ingress 和 Ingress controller 如何将它们与 NodePort 服务一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345855/

相关文章:

kubernetes - 列出 Kubernetes 上所有可用的入口 Controller

kubernetes - Kubernetes入口设置

python - Django过滤器: can filter with tuple?

django - Stripe Integration 与 Django 给出类型错误,指出 __init__() 采用 1 个位置参数,但给出了 2 个

python - "pip freeze"给出了与 "help(' 模块不同的模块 ')"

Python LDAP : The signature algorithm is not supported

kubernetes - 将网络标志--network-plugin = cni添加到kubelet

kubernetes - Kubernetes Fabric8 API

kubernetes - 如何正确给出Kubernetes中POD名称的模式?

kubernetes - 是否可以让 Ingress 指向另一个命名空间中的服务?