管理Kubernetes Ingress配置
Kubernetes (K8s)是一个开源的容器编排平台,它自动化了云原生应用程序的部署、伸缩和管理。
Kubernetes提供Ingress特性,允许集群外的客户端流量访问运行在Kubernetes集群内的应用程序的微服务。ADC实例可以充当运行在Kubernetes集群内的应用程序的入口。ADC实例可以负载平衡和内容路由从客户机到Kubernetes集群内的任何微服务的南北向通信。
请注意
- Citrix应用程序交付和管理在Kubernetes版本1.14及以上的集群上支持Ingress特性。
- Citrix应用程序交付和管理支持Citrix ADC VPX和MPX设备作为入口设备。
- 在Kubernetes环境中,Citrix ADC实例负载只平衡“NodePort”服务类型。
您可以配置多个ADC实例作为同一个集群或不同集群或名称空间上的Ingress设备。配置实例后,可以根据Ingress策略将每个实例分配给不同的应用程序。
您可以使用Kubernetes创建和部署Ingress配置kubectl
或api。您还可以从Citrix应用程序交付和管理配置和部署Ingress。
您可以在Citrix应用程序交付和管理中指定Kubernetes集成的以下方面:
集群—可以注册或注销Citrix Application Delivery and Management可以为其部署Ingress配置的Kubernetes集群。在Citrix Application Delivery and Management中注册集群时,需要指定Kubernetes API服务器信息。然后,选择一个可以到达Kubernetes集群并部署Ingress配置的Citrix应用程序交付和管理代理。
政策—Ingress策略用于根据集群或命名空间选择ADC实例来部署Ingress配置。添加策略时需要指定集群、站点和实例信息。
导入配置—该配置为Kubernetes Ingress配置,包括内容切换规则、微服务及其端口对应的URL路径。您还可以使用Kubernetes秘密资源指定SSL/TLS证书(以卸载ADC实例上的SSL处理)。
Citrix应用程序交付和管理使用入口策略自动将入口配置映射到ADC实例。
对于每个成功的Ingress配置,Citrix应用程序交付和管理生成一个StyleBook ConfigPack。ConfigPack表示应用到与入接口配置相对应的ADC实例的ADC配置。要查看ConfigPack,请导航到应用>配置>配置包.
在你开始之前
要在Kubernetes集群上使用Citrix ADC实例作为Ingress设备,请确保您具备:
Kubernetes集群就位。
安装和配置Citrix Application Delivery and Management代理,以支持Citrix Application Delivery and Management与Kubernetes集群或被管理实例之间的通信。您可以使用数据中心或云中的托管实例。
在Citrix应用程序交付和管理中注册的Kubernetes集群。
配置Citrix应用程序交付和管理代理注册到Kubernetes集群
为了实现Kubernetes集群与Citrix Application Delivery and Management之间的通信,必须安装并配置Citrix Application Delivery and Management代理。agent可部署在以下平台:
Hypervisor (ESX、XenServer、KVM、Hyper-V)
公共云服务(如微软Azure、AWS)
遵循过程配置代理。
请注意
如果已经部署了现有的Citrix应用程序交付和管理代理,您还可以使用它。
使用秘密令牌配置Citrix应用程序交付和管理,以管理Kubernetes集群
为了使Citrix应用程序交付和管理能够从Kubernetes接收事件,您需要在Kubernetes中为Citrix应用程序交付和管理创建一个服务帐户。并且,在集群中为服务帐户配置必要的RBAC权限。
为Citrix应用程序交付和管理创建服务帐户。例如,服务帐户名称为
citrixadm-sa
.创建服务帐户,请参见使用多个业务帐户.使用
集群管理员
角色绑定Citrix应用程序交付和管理帐户。此绑定授予ClusterRole
跨集群到服务帐户。使用实例绑定a集群管理员
角色到服务帐户。——clusterrole=cluster-admin——serviceaccount=default:citrixadm-sa
将Citrix应用程序交付和管理帐户绑定到
集群管理员
角色,该服务帐户具有整个集群的访问权限。有关更多信息,请参见kubectl
创建clusterrolebinding
.从已创建的业务帐户中获取token。
例如,运行以下命令查看
citrixadm-sa
服务帐户:Kubectl description sa citrixadm-sa
执行以下命令获取token的秘密字符串:
Kubectl描述secret
在“Citrix应用程序交付和管理”中添加Kubernetes集群
配置Citrix Application Delivery and Management代理并配置静态路由后,还需要在Citrix Application Delivery and Management中注册Kubernetes集群。
注册Kubernetes集群。
使用管理员凭证登录到Citrix应用程序交付和管理。
导航到编制>Kubernetes>集群.进入“集群”页面。
点击添加.
在添加集群页,指定以下参数:
的名字-指定您选择的名称。
API服务器URL-你可以从Kubernetes Master节点获取API Server的URL详细信息。
在Kubernetes主节点上运行该命令
kubectl cluster-info
.输入显示为的URL“Kubernetes师傅正在跑。”
身份验证令牌—指定登录时获取的认证令牌字符串配置Citrix Application Delivery and Management来管理Kubernetes集群.需要身份验证令牌来验证Kubernetes集群和Citrix Application Delivery and Management之间的通信访问。使用实例生成一个认证令牌。
在Kubernetes主节点上运行以下命令:
Kubectl描述secret
复制生成的令牌并将其粘贴为身份验证令牌
有关更多信息,请参见Kubernetes文档。
从列表中选择代理。
点击创建.
定义Ingress策略
Ingress策略决定使用哪个Citrix ADC来部署Ingress配置,基于Ingress集群或命名空间或两者。
导航到业务流程> Kubernetes >策略.
点击添加创建一个策略。
指定策略名称。
定义条件在Kubernetes集群上部署Ingress配置。这些条件通常基于入口集群和命名空间。
在基础设施面板中,
网站—从列表中选择一个站点。
实例—从列表中选择ADC实例。
的网站而且实例列表根据群集选择填充选项条件面板。
这些列表显示与配置了Kubernetes集群的Citrix应用程序交付和管理代理相关联的站点或实例。
在选择网络,选择Citrix Application Delivery and Management自动为Ingress配置分配虚拟IP地址的网络。
中创建的网络设置> IPAM.
点击创建.
部署Ingress配置
您可以使用以下命令从Kubernetes部署Ingress配置kubectl
、Kubernetes API或其他工具。您还可以直接从Citrix应用程序交付和管理部署Ingress配置。
导航到业务流程> Kubernetes > ingress.
点击添加.
在创建入口字段,指定以下详细信息:
指定入接口的名称。
在集群,选择需要部署Ingress的Kubernetes集群。
选择集群命名空间从列表中。该字段列出了存在于指定Kubernetes集群中的名称空间。
可选的,选择自动分配前端IP地址.
选择进入协议从列表中。如果您选择HTTPS,指定TLS的秘密.
这个秘密嵌入了嵌入HTTPS证书和私钥的Kubernetes秘密资源。
HTTPS入口需要在Kubernetes集群上配置基于TLS的秘密。指定
tls.crt
而且tls.key
字段分别包含服务器证书和证书密钥。对于内容路由,请指定以下细节:
URL路径—指定Kubernetes服务关联的路径和端口。
Kubernetes服务—指定需要的服务。
港口—指定业务端口。
LB方法—选择所选Kubernetes服务的负载均衡方式。
所选方法用适当的注释更新入接口规范。例如,如果您选择设置轮流捡取方法,Citrix注释如下所示:
此“lbmethod”:“循环”< !——NeedCopy >
持久性类型—选择所选Kubernetes服务的负载均衡持久类型。
所选持久性类型使用适当的注释更新入接口规范。例如,如果您选择COOKIEINSERT, Citrix注释如下所示:
:“persistenceType COOKIEINSERT“< !——NeedCopy >
点击添加向Ingress配置中添加更多URL路径和端口。
部署完成后,Ingress配置根据以下原则将客户端流量重定向到特定的服务:
- 请求的URL路径和端口。
- 已定义的LB方法和持久类型。
请注意
入口配置中使用的Kubernetes服务应该是NodePort类型的。
可选的,指定一个入口的描述.
点击部署.
如果您想在部署之前检查配置,请单击生成导入规范.指定的入口配置以YAML格式显示。检查配置后,单击部署.
请注意向使用Ingress配置创建的虚拟服务器申请license。申请license的操作步骤如下:
- 去系统>授权和分析.
- 下虚拟服务器许可证摘要,使自动选择虚拟服务器.