0
  • No products in the cart.
CartTotal:¥0.00
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云服务
    • 阿里云技术支持
    • 华为云技术支持
    • 腾讯云技术支持
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务
  • 客户案例
  • 云技术
    • 云服务器运维
    • 云数据库技术
    • 云存储技术
    • 云安全服务
    • 云网络服务
  • 云慧采
    • 云服务器
    • 云数据库
    • 云存储
    • 云安全
    • 网络与CDN
    • 视频服务
    • 大数据
    • 物联网
    • 人工智能
    • 开发与运维
    • 企业应用
  • 云服务
    • 阿里云技术支持
    • 华为云技术支持
    • 腾讯云技术支持
    • 木马病毒查杀
    • 渗透测试服务
    • 服务器迁移服务
    • 高并发业务保障服务
    • 数据库运维/专家服务
  • 客户案例

部署一套高性能高可靠的Ingress接入层

在Kubernetes集群中,Ingress是授权入站连接到达集群服务的规则集合,可以为您提供七层负载均衡能力,您可以通过Ingress配置提供外部可访问的URL、负载均衡、SSL、基于名称的虚拟主机等。作为集群流量接入层,Ingress的高可靠性显得尤为重要,本文介绍如何部署一套高性能高可靠的Ingress接入层。

前提条件

  • 您已成功创建一个Kubernetes集群。
  • SSH连接到Master节点。

高可靠部署架构

高可靠性首先要解决的就是单点故障问题,通常系统采用多副本部署的方式,在Kubernetes集群中部署高可靠Ingress接入层同样采用多节点部署架构,同时由于Ingress作为集群流量接入口,建议系统采用一个Ingress服务独占一个Ingress节点的方式,以避免业务应用与Ingress服务发生资源抢占。

部署一套高性能高可靠的Ingress接入层

如上述部署架构图,由多个独占Ingress实例组成统一接入层来承载集群入口流量,同时可依据后端业务流量水平扩缩容Ingress节点。若您前期的集群规模并不大,也可以采用将Ingress服务与业务应用混部的方式,但注意进行资源限制和隔离。

查看集群默认部署的Pod副本及公网地址

当您成功创建一个集群后,默认情况下,集群内部已经部署了一套拥有2个Pod副本的Nginx Ingress Controller服务,其前端挂载在一个公网SLB实例上。

  1. 执行以下命令查看部署Nginx Ingress Controller服务的Pod。
    kubectl -n kube-system get pod | grep nginx-ingress-controller
    nginx-ingress-controller-8648ddc696-2bshk                    1/1     Running   0          3h
    nginx-ingress-controller-8648ddc696-jvbs9                    1/1     Running   0          3h
  2. 执行以下命令查看nginx-ingress-lb服务对应的公网SLB地址。
    kubectl -n kube-system get svc nginx-ingress-lb
    NAME               TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)                      AGE
    nginx-ingress-lb   LoadBalancer   172.xx.x.xx   118.xxx.xxx.xx   80:32457/TCP,443:31370/TCP   21d

部署高可靠的Ingress接入层

随着集群业务规模的逐渐扩大,系统需要扩容Ingress接入层,以保证集群接入层的高性能高可用,可通过以下两种方法完成。

  • 方法一:增加Pod副本数量

    通过调整Nginx Ingress Controller Deployment的Pod副本数量,可以快速增加Ingress接入层的规模。

    1. 执行以下命令,将Pod副本数量扩容到3个。
      kubectl -n kube-system scale --replicas=3 deployment/nginx-ingress-controller
      deployment.extensions/nginx-ingress-controller scaled
    2. 执行以下命令,查看部署Nginx Ingress Controller服务的Pod。
      kubectl -n kube-system get pod | grep nginx-ingress-controller
      nginx-ingress-controller-8648ddc696-2bshk                    1/1     Running   0          3h
      nginx-ingress-controller-8648ddc696-jvbs9                    1/1     Running   0          3h
      nginx-ingress-controller-8648ddc696-xqmfn                    1/1     Running   0          33s
  • 方法二:在指定的高配置节点上部署Ingress服务

    如果您需要Nginx Ingress Controller仅运行在指定的一些高配置节点上,可以通过给节点添加标签来完成。

    1. 执行以下命令查看当前集群的节点情况。
      kubectl get node
      NAME                                 STATUS   ROLES    AGE   VERSION
      cn-hangzhou.i-bp11bcmsna8d4bp****   Ready    master   21d   v1.11.5
      cn-hangzhou.i-bp12h6biv9bg24l****   Ready    <none>   21d   v1.11.5
      cn-hangzhou.i-bp12h6biv9bg24l****   Ready    <none>   21d   v1.11.5
      cn-hangzhou.i-bp12h6biv9bg24l****   Ready    <none>   21d   v1.11.5
      cn-hangzhou.i-bp181pofzyyksie****   Ready    master   21d   v1.11.5
      cn-hangzhou.i-bp1cbsg6rf3580z****   Ready    master   21d   v1.11.5
    2. 执行以下命令,给Ingress Node节点cn-hangzhou.i-bp12h6biv9bg24lmdc2o和cn-hangzhou.i-bp12h6biv9bg24lmdc2p添加标签node-role.kubernetes.io/ingress="true"。
      kubectl label nodes cn-hangzhou.i-bp12h6biv9bg24lmdc2o node-role.kubernetes.io/ingress="true"
      node/cn-hangzhou.i-bp12h6biv9bg24lmdc2o labeled
      kubectl label nodes cn-hangzhou.i-bp12h6biv9bg24lmdc2p node-role.kubernetes.io/ingress="true"
      node/cn-hangzhou.i-bp12h6biv9bg24lmdc2p labeled
      说明

      • 添加标签的节点数量要大于等于集群Pod副本数,从而避免多个Pod运行在同一个节点上。
      • 查询结果中,若ROLES的值显示为none,则表示为Worker节点。
      • 建议您不要将Ingress服务部署到Master节点上,尽量选择Worker节点添加标签。
    3. 执行以下命令,更新deployment,增加nodeSelector配置。
      kubectl -n kube-system patch deployment nginx-ingress-controller -p '{"spec": {"template": {"spec": {"nodeSelector": {"node-role.kubernetes.io/ingress": "true"}}}}}'
      deployment.extensions/nginx-ingress-controller patched
    4. 执行以下命令,查看Ingress Pod已部署在添加了标签node-role.kubernetes.io/ingress="true"的集群节点上。
      kubectl -n kube-system get pod -o wide | grep nginx-ingress-controller
      nginx-ingress-controller-8648ddc696-2bshk                    1/1     Running   0          3h    172.16.2.15     cn-hangzhou.i-bp12h6biv9bg24lmdc2p   <none>
      nginx-ingress-controller-8648ddc696-jvbs9                    1/1     Running   0          3h    172.16.2.145    cn-hangzhou
进入专题:容器服务

以上内容对您有帮助吗?如有问题,可联系在线工程师为您提供技术支持

Yes  No
相关内容
  • 有了托管服务,没人想再管理Kubernetes了
  • 阿里云Serverless工作流编排分布式任务
  • 阿里云函数计算FC全托管Serverless计算服务
  • 物联网比互联网更适合Serverless
  • 各厂商Serverless平台产品选型
  • 阿里云Serverless学习视频教程
产品
  • SSL证书5折起(DV,OV,EV,多域名,通配符,免费SSL证书安装配置) ¥2.00 ¥1.00
  • 漏洞扫描服务 ¥0.00 – ¥1,000.00
  • 阿里云云安全中心(服务器安全防护漏洞自动修复木马病毒查杀) ¥270.00 – ¥1,148.00
  • 阿里云web应用防火墙(WAF)防CC防SQL注入防网页篡改木马后门 ¥149.00 – ¥227,920.00
  • 阿里云文件存储NAS ¥157.00 – ¥840.00
弹性计算
  • 部署一套高性能高可靠的Ingress接入层
  • 有了托管服务,没人想再管理Kubernetes了
  • 阿里云Serverless工作流编排分布式任务
  • 阿里云函数计算FC全托管Serverless计算服务
  • 物联网比互联网更适合Serverless
  • 各厂商Serverless平台产品选型
View All 21  
热门内容
  • 阿里云混合云解决方案
  • 数据库上云迁移方案
  • 网站运维服务都包含哪些?
  • 三级等保测评咨询实施服务
  • 性能测试/压力测试指标参考标准
服务分类
  • 物联网技术
  • 云服务器运维
  • 网站运维
  • 云数据库技术
  • 云存储技术
  • 云安全服务
  • 云网络服务
  • 大数据和人工智能
  • CDN与边缘计算
  • 弹性计算
  • 优惠活动
  • 云架构设计优化
  • 迁云实施服务
  • 容灾备份服务
  • 云上护航
  • Linux系统运维
  • 解决方案咨询与实施
  • 视频云技术
  • 混合云与专有云
  • 企业应用
专题
AnalyticDB CDN技术 ClickHouse数据库 PolarDB PostgreSQL数据库 SD-WAN serverless SSL证书 web应用防火墙 云堡垒机 云存储网关 云数据库MongoDB 云数据库RDSmysql 云数据库redis 云服务器 云防火墙 全局流量管理 全球加速 号码隐私保护 多模数据库Lindorm 安全加固 实人认证 容器服务 对象存储OSS 弹性伸缩 性能测试 数据仓库 数据库备份DBS 数据库审计 数据库自治服务DAS 数据湖 文件存储NAS 日志服务 服务网格 混合云存储 物联网安全 等保测评 表格存储Tablestore 运维技术 阿里云优惠
  • 阿里云代理商
  • 腾讯云代理商
  • 华为云代理商
  • 等保测评
  • 数据库备份
  • 堡垒机
  • 阿里云邮箱
  • 华为云服务
  • APM
  • serverless
  • SD-WAN
  • PolarDB
  • 阿里云数据仓库
  • 数据湖
  • 腾讯云服务器
  • 智慧党建
  • 蓝凌OA
  • 费用管理软件
  • 智慧校园
  • 混合云
  • 阿里云混合云
  • © 2020 云技术|云慧采. All Rights Reserved 服务电话13121395187