部署ASM网关Pod到指定的节点上

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 配置高性能和高可用的ASM网关,可确保业务连续性并提升用户体验。本文介绍如何配置ASM网关,将网关Pod部署到指定节点上,从而提高ASM网关的高可用性并增强与业务Pod的隔离性。

配置高性能和高可用的ASM网关,可确保业务连续性并提升用户体验。本文介绍如何配置ASM网关,将网关Pod部署到指定节点上,从而提高ASM网关的高可用性并增强与业务Pod的隔离性。

相关概念

  • 污点(Taint):作用于节点上, 它能使节点能够排斥一类特定的Pod。
  • 容忍度(Toleration):容忍度应用于Pod上。容忍度允许调度器将该Pod调度到带有对应污点的节点上。
  • 污点和容忍度相互配合,可以用来避免Pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个污点,这表示对于那些不能容忍这些污点的Pod,是不会被该节点接受的。如果将容忍度应用于Pod 上,则表示这些Pod 可以(但不要求)被调度到具有匹配污点的节点上。
  • 节点亲和性(nodeAffinity):规定了Pod调度时的软需求或者偏好,且在这种偏好不被满足时成功调度该Pod到其他节点。

操作步骤

步骤一:添加标签到节点

执行 kubectl get nodes 命令获取集群的节点名称。选择一个你要增加标签的节点,然后执行 kubectl label nodes = 命令将标签添加到你所选择的节点上。
比如,

kubectl label nodes node1 mykey4pod=asmgateway

步骤二:添加污点到节点

使用命令 kubectl taint 给节点增加一个 污点。比如,

kubectl taint nodes node1 mykey=myvalue:NoSchedule

给节点 node1 增加一个污点,它的 key 是 mykey,value 是 myvalue,effect 是 NoSchedule。这表示只有拥有和这个污点相匹配的容忍度 的Pod 才能够被分配到 node1 这个节点。

步骤三:为ASM网关设置节点亲和性和容忍度

首先, 在ASM网关中配置nodeAffinity参数, 使ASM网关的Pod分布到指定的节点上。配置tolerations参数与上面例子中使用 kubectl taint 命令创建的污点相匹配。这样可以使得网关的Pod 能够被分配到指定的节点上。

具体操作如下:
1) 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理。
2) 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择ASM网关 > 入口网关。
3) 在入口网关页面,在对应网关的右侧菜单栏内, 单击查看YAML。
4) 在弹出的YAML编辑窗口内, 在spec下补充如下内容:

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: mykey4pod
            operator: In
            values:
            - asmgateway
  tolerations:
  - key: "mykey"
    operator: "Equal"
    value: "myvalue"
    effect: "NoSchedule"            

在ACK控制台中, 查看网关的Pod 所在的节点是否符合预期。

相关文章
|
6月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
3月前
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
131 2
|
3月前
|
Kubernetes 安全 Cloud Native
解锁安全新纪元:利用服务网格Istio,打造全链路mTLS加密隧道,从入口网关到出口网关,守护数据安全的每一步
【8月更文挑战第2天】随着云原生技术的发展,服务网格(Service Mesh)如Istio已成为微服务架构的核心,通过双向TLS(mTLS)确保通信安全。首先,在Kubernetes部署Istio以管理服务通信。接着,配置入口网关实现所有入向流量的加密处理,防止数据泄露。最后,通过配置Sidecar代理如Envoy,确保服务网格安全访问外部mTLS服务,从而构建起全链路的数据安全防护。
80 11
|
3月前
|
Kubernetes 安全 数据安全/隐私保护
利用服务网格实现全链路mTLS(二):通过出口网关访问外部mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,简化服务治理,包括流量管理、服务间通信安全及网格可观测性。ASM出口网关统一管理网格内的出口流量,实现全链路加密通信与精细访问控制。本文介绍如何配置ASM出口网关以管理出口流量并发起mTLS通信,涉及配置ServiceEntry、创建出口网关、设置虚拟服务及目标规则等步骤,最终实现安全可控的mTLS服务访问。
149 3
|
3月前
|
应用服务中间件 API nginx
微服务从代码到k8s部署应有尽有系列(二、网关)
微服务从代码到k8s部署应有尽有系列(二、网关)
|
3月前
|
网络协议 网络虚拟化 数据中心
干货 | 集中式网关部署方式的VXLAN示例(静态方式)
干货 | 集中式网关部署方式的VXLAN示例(静态方式)
|
4月前
|
Cloud Native 测试技术 开发者
阿里云服务网格ASM多集群实践(二):高效按需的应用多环境部署与全链路灰度发布
介绍服务网格ASM提出的一种多集群部署下的多环境部署与全链路灰度发布解决方案。
|
6月前
|
移动开发 前端开发
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
352 2
|
6月前
|
域名解析 运维 网络协议
使用ACME CA为ASM网关签发证书
阿里云服务网格ASM提供全托管式服务网格平台,兼容Istio开源服务网格,简化服务治理,包括流量管理、认证安全和可观测性。产品文档:[https://help.aliyun.com/zh/asm](https://help.aliyun.com/zh/asm)。本文指导如何使用cert-manager和ACME CA为ASM网关获取HTTPS证书,涉及ACME协议、挑战验证及Let's Encrypt的使用。
221 2
|
前端开发 应用服务中间件 nginx
用docker和nginx部署前端项目访问本地java网关gateway服务
本地开发 java 微服务项目,但是拿到的对应的web前端项目只有打包编译过后的 dist 目录里的静态资源(里面只有一个index.html和一些编译过后的 js、css文件),前端接口需要先访问到 java 的网关服务,然后网关里再做转发
454 1