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

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

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

我的问题:当我运行时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
运行
AI代码解释
复制
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 01:55:28

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

https://stackoverflow.com/questions/53389945

复制
相关文章
在Kubernetes集群中运行Nginx
在完成前面kubernetes数据持久化的学习之后,本节我们开始尝试在k8s集群中部署nginx应用,对于nginx来说,需要持久化的数据主要有两块:
星哥玩云
2022/07/13
2.1K0
在Kubernetes集群中运行Nginx
开始在Kubernetes运行Python应用程序
你知道你想要在Kubernetes中运行应用程序,但不知道从哪里开始。或者你刚刚开始,但不知道自己不知道什么。在本博客中,你将了解如何封装应用程序,并使其在Kubernetes运行。
CNCF
2019/12/04
3.5K0
开始在Kubernetes运行Python应用程序
检查 Flutter 应用程序是否在 Web 上运行(书籍推荐)
您可以使用基础kIsWeb常量检查您的 Flutter 应用程序是否在 Web 浏览器上运行。
徐建国
2022/03/30
1.7K0
检查 Flutter 应用程序是否在 Web 上运行(书籍推荐)
在kubernetes上运行WASM负载
WASM一般用在前端业务中,但目前有扩展到后端服务的趋势。本文使用Krustlet 将WASM服务部署到kubernetes。
charlieroro
2021/05/10
1.4K0
在kubernetes上运行WASM负载
Spark 在Yarn上运行Spark应用程序
在 YARN 中,每个应用程序实例都有一个 ApplicationMaster 进程,该进程是为该应用程序启动的第一个容器。应用程序负责从 ResourceManager 上请求资源。一旦分配了资源,应用程序将指示 NodeManagers 启动容器。ApplicationMasters 消除了对活跃客户端的依赖:启动应用程序的进程可以终止,并且从在集群上由 YARN 管理的进程继续协作运行。
smartsi
2019/08/07
1.9K0
在 WASI 上运行 .NET 7 应用程序
WASI代表 WebAssembly 系统接口,WASI 让沙盒化的 WebAssembly 应用程序通过一系列类似 POSIX 的函数访问底层操作系统,允许独立于浏览器运行 WebAssembly 代码。这是一个高度实验性的项目,但同时也是一个非常有趣的项目,并且有可能为行业的大规模编程范式转变做出贡献,使 WebAssembly 真正无处不在。
张善友
2022/04/28
1.4K0
在 WASI 上运行 .NET 7 应用程序
在 Kubernetes 中运行 Kubernetes
前面其实我们在 Windows 系统的 WSL2 下面使用 KinD 搭建了一套 Kubernetes 集群,KinD 是一个非常轻量级的 Kubernetes 安装工具,他将 Docker 容器当成 Kubernetes 的节点,使用非常方便。既然在 Docker 容器中可以运行 Kubernetes 集群,那么我们自然就会想到是否可以在 Pod 中来运行呢?在 Pod 中运行会遇到哪些问题呢?
我是阳明
2020/06/19
2.9K0
在 Kubernetes 中运行 Kubernetes
java应用程序镜像制作及在kubernetes上发布
应用程序镜像制作 准备好应用程序 [root@VM_8_24_centos testapp]# ls Dockerfile testapp.tar.gz 编写Dockerfile [root@VM_8_24_centos testapp]# cat Dockerfile # 基础镜像 FROM core-harbor.minminmsn.com/public/jre-centos:1.8.0_212 # 维护信息 MAINTAINER minyt <minyongtao@minminmsn.com>
三杯水Plus
2019/05/29
7340
6个工具助你在Windows上轻松运行Kubernetes
Kubernetes 主要是一种 Linux 技术,因此在 Linux 上运行它是相当简单的。但 Windows 上的开发人员,可不可以在 Win 上运行 Kubernetes?
我的小碗汤
2021/12/31
2.4K0
6个工具助你在Windows上轻松运行Kubernetes
自建 Kubernetes 上运行容器
Kubernetes 跟 Docker 等很多项目最大的不同,就在于它不推荐你使用命令行的方式直接运行容器(虽然 Kubernetes 项目也支持这种方式,比如:kubectl run),而是希望你用 YAML 文件的方式,即:把容器的定义、参数、配置,统统记录在一个 YAML 文件中,然后用这样一句指令把它运行起来:
星哥玩云
2022/08/08
3910
在Kubernetes上运行有状态应用:从StatefulSet到Operator
一开始Kubernetes只是被设计用来运行无状态应用,直到在1.5版本中才添加了StatefulSet控制器用于支持有状态应用,但它直到1.9版本才正式可用。本文将介绍有状态和无状态应用,一个通过K8S StatefulSet来编排有状态应用的示例,以及当前有状态应用容器化现状及将来的发展趋势。
SammyLiu
2019/12/12
1.9K0
在Kubernetes上运行有状态应用:从StatefulSet到Operator
在kubernetes中运行openebs
现在,OpenEBS是kubernetes下与容器原生和容器附加存储类型相关通用的领先开源项目之一。通过为每个工作负载指定专用的存储控制器,OpenEBS遵循容器附加存储或CAS的脚步。为了向用户提供更多功能,OpenEBS具有精细的存储策略和隔离功能, 可帮助用户根据工作负载选择存储。该项目不依赖Linux内核模块,而是在用户空间中运行。它属于Cloud Native Computing Foundation沙箱,在各种情况下都非常有用,例如在公共云中运行的群集, 在隔离环境中运行的无间隙群集以及本地群集。
有点技术
2020/07/13
4.8K0
在kubernetes中运行openebs
在你的电脑上运行Kubernetes
Kubernetes 是编配平台的首选。在开发过程中,您不妨在个人电脑上运行 Kubernetes,以便在本地启动和调试应用程序。本文提供了两种在 Mac OS X 机器本地运行 Kubernetes 的方法:常用的 Minikube 和 Docker for Mac 中新引入的 Kubernetes 支持。其他平台的操作指南可登录 Minikube 和 Docker 网站查找。我们开始吧!
小铁匠米兰的v
2018/08/13
2.6K0
Anbox:在 Linux 上运行 Android 应用程序的简单方式
Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以在普通的 GNU/Linux 系统上启动完整的 Android 系统。
用户8639654
2021/09/23
5.2K0
Kubernetes上开发应用程序的工具
2021 年欧洲 KubeCon + CloudNativeCon 虚拟大会[1]赞助商文章。作者:Matt Farina,软件架构师,SUSE
CNCF
2021/05/27
1.2K0
Kubernetes上开发应用程序的工具
在 Node.js 上运行 Flutter Web 应用和 API[每日前端夜话0xDC]
大量的跨平台应用开发框架,使你可以编写一次代码,然后在 Android,iOS 等多个平台上甚至在台式机上运行。你可能听说过一些流行的框架,例如 Ionic,Xamarin 和 React Native。另一个相对较新的框架是 Flutter。
疯狂的技术宅
2019/11/03
4.1K0
点击加载更多

相似问题

使用nginx运行水豚

10

在Nginx上运行Siremis web:

10

运行在nginx入口后面的Kubernetes上

118

PHP+ Nginx在Kubernetes上

20

在Kubernetes上运行带有Nginx SSL代理的Meteor应用

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文