前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >回答了群友关于 K8S Ingress 的几个问题

回答了群友关于 K8S Ingress 的几个问题

作者头像
老麦
发布2023-05-25 10:51:26
2920
发布2023-05-25 10:51:26
举报
文章被收录于专栏:Go与云原生Go与云原生

K8s Ingress Questions

1. 常说的 Ingress 值的是什么。

首先拉平一个认识。

常说的 Ingress 是 Ingress Rules

但 Ingerss 实际上是由 Ingress RulesIngress Controller 的组合而成的。在使用上, K8S 通过 Rules 的管理, 隐藏 Controller。

目前 k8s 官方维护的 控制器(Controller) 有 AWS, GCS, Nginx, 其他三方的大大小小几十种, 可以参考 https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress-controllers/

而 Rules 是 K8S 对于控制器的配置的公共抽象, 帮助用户 一定程度上 屏蔽了不同控制器的差异。

所谓 一定程度, 指的是

  1. (1) 通过 annotations 的值管理 控制器 的特殊。不同的控制器支持的字段和功能不一致。
  2. (2) spec 内是 通用配置内容格式 所有控制器都必须遵守。

以下是群友提问了

2.1. 我这边没买LB,公司的二级域名解析到的WORKER 节点(2个) DNS全部解析过来了(轮询) 然后我想是否可以不买LB场景下实现 域名转发service ssl

可以

  1. 可以将 控制器 的 Service 设置 NodePort。使用这种方法, 对外端口无法使用标准的 80/443
  2. 可以在 控制器 的 Deployment/DaemonSet 中, 设置 HostPort。这种方式对外可以使用 80/443

但是不建议。

  1. 其一、 如果要提供公网访问服务的话, 必然会 将 Node 节点绑定公网 IP 暴露到互联网。
  2. 其二、 通过 DNS 可以在解析层面轮训, 实现 负载均衡。但是 DNS 本身没办法做健康检查, 如果某个 Node 节点挂了, 服务就无法被访问。

例如上图, 当 1-2 两个节点失效时, DNS 依旧会将请求解析过来, 造成失败。

2.2. 我这块域名 dns 解析到的是2台worker,是否要用 daemonset 部署 Ingress 控制器?

可以, 但没必要。使用 DNS 或者 LB 作为负载均衡的前提条件, 重要的都是 关系映射。即当节点发生变化的时候, 如何 保证只有健康的控制器节点对外提供业务

一般情况下保持 2-3个 worker 副本几本够用了。可根据实际情况调整。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 熊猫云原生Go 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • K8s Ingress Questions
    • 1. 常说的 Ingress 值的是什么。
      • 以下是群友提问了
        • 2.1. 我这边没买LB,公司的二级域名解析到的WORKER 节点(2个) DNS全部解析过来了(轮询) 然后我想是否可以不买LB场景下实现 域名转发service ssl
        • 2.2. 我这块域名 dns 解析到的是2台worker,是否要用 daemonset 部署 Ingress 控制器?
    相关产品与服务
    负载均衡
    负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档