APIG Ingress基于云原生API网关满足将集群内部服务暴露给用户访问的需求。
出于安全考量,APIG Ingress禁止暴露kube-system命名空间下的服务。
适用范围
已创建ACK托管集群,且集群版本为1.18及以上。
安装APIG Controller
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在组件管理页面的搜索框中输入
APIG搜索,在APIG Controller组件卡片中单击安装。在安装组件 APIG Controller对话框中进行参数配置,然后单击确认。
新建:
将自动创建一个规格为 apig.small.x1 的按量付费的云原生 API 网关实例。
重要选择新建时,组件会默认创建一个新的ApigConfig资源和云原生API网关实例,ApigConfig的生命周期与云原生API网关实例绑定。删除ApigConfig资源会级联删除对应的云原生API网关实例,请勿随意删除ApigConfig资源。
如果集群中已经存在了名称为apig的IngressClass资源,则不会自动创建ApigConfig资源和云原生API网关实例。
使用已有:
选择展示列表中,与容器集群处于同一VPC下,且未被其他集群关联的按量付费的云原生API网关实例。
如果组件安装出现前置检查失败,请为APIG Controller授权。
组件安装完成后,在集群中可以看到名称为
apig-controller-pro-{clusterid}的ApigConfig资源。登录云原生API网关控制台,在对应的地域下可以看到名称为apig-controller-pro-{clusterid}的云原生网关实例。
创建示例应用
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在无状态页面,单击使用YAML创建资源。例如,使用如下YAML示例部署一个名为
httpbin的Deployment,以及一个名为httpbin的Service。apiVersion: apps/v1 kind: Deployment metadata: name: httpbin namespace: default spec: replicas: 1 selector: matchLabels: app: httpbin template: metadata: labels: app: httpbin version: v1 spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin args: - "--version=v1" imagePullPolicy: Always name: httpbin --- apiVersion: v1 kind: Service metadata: name: httpbin namespace: default spec: ports: - port: 8080 protocol: TCP selector: app: httpbin type: ClusterIP在弹窗提示中单击查看,确认Pod状态为
Running。
配置APIG Ingress
在路由页面,单击创建 Ingress。
在创建 Ingress对话框中,选择网关类型为APIG Ingress,路由为前缀匹配,路径为
/,转发请求到服务httpbin,然后单击确定。在路由页面端点列下查看新建Ingress的端点信息。通过浏览器、CMD命令或者其他命令行工具访问
接入点域名/version或网关公网IP/version测试服务。返回内容version: v1表示Ingress配置成功。登录云原生API网关控制台,在对应的云原生API网关实例中看到一个名称中包含
{gwid}-ingress的API。
相关文档
关于APIG Ingress的介绍和工作原理请参阅APIG Ingress管理。