首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在kubernetes上运行nginx web应用程序,但它只是水平地缩放/复制

在kubernetes上运行nginx web应用程序,但它只是水平地缩放/复制
EN

Stack Overflow用户
提问于 2018-11-20 09:30:44
回答 1查看 244关注 0票数 0

我的问题:当我运行时

代码语言:javascript
代码运行次数:0
运行
复制
kubectl -n test scale --replicas=5 -f web-api-deployment.yaml
  1. 它扩展部署,每个节点一个POD,尽管节点具有足够的容量,为什么它不扩展到每个节点超过一个POD。
  2. 目前,每个节点只有一个POD可以访问端口443,如果我想在同一个节点上运行三个nginx荚--它们都承载着443上相同的web应用程序--并且希望负载均衡器在同一个节点上的3个端口之间实现负载平衡呢?

Kubernetes集群:3主5工作节点

AWS:弹性负载均衡器将端口443指向每个Kubernetes工作节点

POD部署:

代码语言:javascript
代码运行次数:0
运行
复制
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: test
  name: WEB-API
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: WEB-API
    spec:
      containers:
        - name: WEB-API
          image: WEB-API:latest
          env:
            - name: NGINX_WORKER_PROCESSES
              value: "1"
            - name: KEEPALIVETIMEOUT
              value: "0"
            - name: NGINX_WORKER_CONNECTIONS
              value: "2048"
      resources:
        requests:
          cpu: 500m
          memory: 500Mi
      ports:
      - containerPort: 443
      volumeMounts:
        - name: config-volume
          mountPath: /opt/config/
        - name: aws-volume
          mountPath: /root/.aws

apiVersion: v1
kind: Service
metadata:
  namespace: prd
  name: WEB-API
  annotations:
    external-dns.alpha.kubernetes.io/hostname: someaddress
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:xxxxxxxxxxxxxxxx:certificate/xxxxxxxxxxxxxxxxxxxxxxx
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
  labels:
    app: WEB-API
spec:
  externalTrafficPolicy: Cluster
  ports:
    - name: https
      port: 443
      targetPort: 80
      protocol: TCP
  selector:
    app: WEB-API
  sessionAffinity: None
  type: LoadBalancer
EN

回答 1

Stack Overflow用户

发布于 2018-11-20 09:55:28

  1. 没有理由不将每个节点扩展到超过一个节点(除非集群中有这么多节点,否则它将尝试最优地扩展工作负载,在您的示例中,这意味着每个节点有5个副本和5个节点)。你有豆荚在“待定”状态吗?如果是这样的话,请查看他们的describe,以了解他们为什么没有被安排。您还可以使用警戒线/排水节点来查看当可用于调度的节点较少时,5个吊舱将如何运行。
  2. 443绑定在pods网络命名空间中,因此您可以让尽可能多的荚同时监听它们自己的443,这样就不会出现端口冲突,因为它们每个都有各自的本地主机和pod。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53389945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档