如何为 kubernetes 部署提供静态 ELB 端点

2024-02-29

每次我在 kubernates 中部署新版本时。我得到不同的 EXTERNAL-IP,在下面的情况下是 afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com

$ kubectl get services -o wide -l appname=${APP_FULLNAME_SYSTEST},stage=${APP_SYSTEST_ENV}
NAME                                        TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)         AGE       SELECTOR
test-systest-lb-https   LoadBalancer   123.45.xxx.21   afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com   443:30316/TCP   9d        appname=test-systest,stage=systest

我如何拥有静态外部 IP (elb),以便可以将其链接到路由 53。我是否必须在 Kubernetes 部署 yaml 文件中包含某些内容。

其他详细信息:我正在使用下面的负载均衡器

spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 443
    targetPort: 8080
    protocol: TCP
  selector:
    appname: %APP_FULL_NAME%
    stage: %APP_ENV%

如果您只是对单个部署进行新构建,那么您应该检查管道对服务执行的操作。你想做一个kubectl apply以及部署上的滚动更新(前提是在部署上设置了策略)而不修改服务(因此不是delete and a create)。如果你这样做kubectl get services你应该看到它的年龄(你的输出显示 9d 所以这一切都很好)并且kubectl describe service <service_name>将显示其上的任何事件。

我猜只是想要一个外部IP条目,您可以指向“afea383cbf72c11e8924c0a19b12bce4-xxxxx.us-east-1.elb.amazonaws.com”和不是真正的静态IP https://stackoverflow.com/questions/38063891/how-to-get-permanent-ip-address-of-a-kubernetes-load-balancer-service-on-aws。如果你确实想要一个真正的静态IP,你不会像这样得到它,但你现在可以尝试 NLB https://aws.amazon.com/blogs/opensource/network-load-balancer-support-in-kubernetes-1-9/.

如果您的意思是希望多个部署(不同的微服务)共享一个 IP,那么您可以安装入口控制器并使用 ELB 公开它。然后,当您部署新应用程序时,您可以为每个应用程序使用 Ingress 资源来告诉控制器将它们公开到外部。因此,您可以将所有应用程序放在同一外部 IP 上,但路由到不同的路径或子域下。这nginx 入口控制器是一个不错的选择 https://medium.com/kokster/how-to-setup-nginx-ingress-controller-on-aws-clusters-7bd244278509.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 kubernetes 部署提供静态 ELB 端点 的相关文章

随机推荐

  • 在 Tkinter 应用程序中是否从 Frame 继承

    我见过设置 tkinter 程序的两种基本方法 有什么理由更喜欢其中一种吗 from Tkinter import class Application def init self root title self root root self
  • xargs: git : 错误的文件号

    有谁知道什么可能导致此错误 我正在尝试使用以下命令在 git 上创建一个包 git diff z name only diff filter MAR 5e2a4b4 5261fe1 xargs s1000000 0 git archive
  • WCF REST:请求中的 XML 是什么样子的?

    我的 WCF 服务中有以下方法 OperationContract WebInvoke Method POST BodyStyle WebMessageBodyStyle Bare ResponseFormat WebMessageForm
  • 为什么我的 cookie 设置没有被应用?

    基于这里的答案 如何将 bool 值写入 cookie 或从 cookie 读取 bool 值 https stackoverflow com questions 16765467 how can i write and read bool
  • 直方图或包数据结构的 Objective-C 实现

    我没有实现自己的实现 而是想知道是否有人知道我可以使用的 Objective C 中的直方图或包数据结构实现 本质上 直方图是列表的哈希图 其中列表包含与其哈希条目相关的值 一个很好的例子是超市商品的直方图 您可以将每组商品乳制品 肉类 罐
  • 通过 phpDriver 插入时 Mongodb 2.6 中的 NumberLong

    当你在 Mongo 2 6 中做这样的事情时db test insert a 1 b 2 3 你会得到 id ObjectId a 3 b 2 3 没什么意外的 当我通过 php 做类似的事情时Mongo 2 4 10 with 1 4 5
  • Eclipse 的搜索和替换中的匹配组语法是什么

    在 Eclipse 上执行搜索 替换并使用 匹配组 的语法是什么 是它的名字吗 在 vi 上我执行以下操作 s log log 1 debug g 还有像这样的一行 log Message 替换为 log Message debug Ecl
  • kops - 获取错误的 kubectl 上下文

    I use kops在aws中创建kubernetes集群 我想使用以下命令验证集群 kops validate cluster 标准输出给我 Using cluster from kubectl context minikube 我认为问
  • 为地图分配值的最有效方法

    哪种方式为地图分配值最有效 或者它们都针对相同的代码进行了优化 在大多数现代编译器上 1 Assignment using array index notation Foo Bar 12345 2 Assignment using memb
  • 使用 Rhino 在 Eclipse 中调试 Javascript

    我已经安装了适用于 Eclipse 的 JavaScript 开发工具插件 但无法运行或调试 JavaScript 项目 我想使用内置的 Rhino 解释器进行调试 而不是使用网络浏览器 我创建了一个 JavaScript 项目 当我尝试创
  • PostgreSQL:将lo_import中的内容保存到表中

    主要问题 https stackoverflow com questions 22074987 using pg read file read file in desktop postgresql 我想在 PostgreSQL 中使用 lo
  • 如何使用javascript在jsp中对从数据库生成的html表的列进行求和?

    我正在我的网站上工作 我想通过 jsp 使用 javascript 对 html 表的一列中的值进行求和 我发现了各种可以添加已放入的静态数据的代码 但是当我在代码中使用相同的东西时 它不起作用 JavaScript 如下
  • Python(足球比赛算法烦恼)

    我正在尝试编写足球小组赛的算法 例如 我在舞台上有4支球队 teams team1 team2 team3 team4 然后我得到了一对独一无二的 import itertools team pairs list itertools com
  • 将对象传递给 UITypeEditor

    我目前希望使用 PropertyGrid 来允许用户编辑我的一些类 但是我在将对象传递给他们使用的 UITypeEditor 时遇到了困难 当用户按下下拉菜单时 我想显示一个已加载纹理的列表框以供选择 如果他们想使用应用程序尚未加载的纹理
  • 从SVN迁移后断开GIT分支

    尝试查看几十个帖子 但仍然没有得到我想要的 Preface 我们最初有一个非常大的 SVN 存储库 没有主干 标准结构 等 所以 我正在工作的项目也没有结构 在子文件夹内 我在这个项目上工作了大约几个月 然后遇到了一个情况 我需要一个分支来
  • 仅将变量向下传递到子目录

    如何将项目特定变量传递到子目录 我想知道是否有一种 官方 方式可以做到这一点 CMAKE BUILD TYPE is one of None Debug Release RelWithDebInfo set specific build t
  • 如何使用键盘快捷键移动 Eclipse 选项卡?

    我想在 Eclipse 中移动我的选项卡 如下所示 From this To this 但是使用键盘快捷键 因为每次只是为了重新排序选项卡而使用鼠标执行此操作非常烦人 任何想法 There is no such a shortcut Tab
  • jQuery .on() 方法看不到新元素

    我正在获取一个 JSON 元素并从其项目构建一个列表 如下所示 getTitles function data data data var list getJSON titles data function data each data d
  • 应用程序安装失败:无法写入设备

    在 Xcode 6 3 中 当我尝试在真实设备上运行用 Swift 编写的 iOS 项目时 出现此错误 应用程序安装失败 无法写入设备 我尝试清理项目并再次运行 但出现相同的错误 我该如何修复这个错误 删除设备上的应用程序并再次运行该项目对
  • 如何为 kubernetes 部署提供静态 ELB 端点

    每次我在 kubernates 中部署新版本时 我得到不同的 EXTERNAL IP 在下面的情况下是 afea383cbf72c11e8924c0a19b12bce4 xxxxx us east 1 elb amazonaws com k