部署Istio
为解决微服务的分布式应用架构在运维、调试、和安全管理等维度存在的问题,可通过部署Istio创建微服务网络,并提供负载均衡、服务间认证以及监控等能力,同时Istio不需要修改服务即可实现以上功能。
前提条件
- 您已经成功创建一个 Kubernetes 集群,参见创建Kubernetes 集群。
- 请以主账号登录,或赋予子账号足够的权限,如自定义角色中的cluster-admin,参考子账号RBAC权限配置指导。
背景信息
- 阿里云容器服务Kubernetes 1.10.4及之后版本支持部署Istio,如果是1.10.4之前的版本,请先升级到1.10.4或之后版本。
- 一个集群中,worker节点数量需要大于等于3个,保证资源充足可用。
操作步骤
- 部署istio 。
- 登录容器服务管理控制台。
- Kubernetes 菜单下, 单击左侧导航栏中的服务网格 > Istio管理,进入部署Istio页面。
- 选择所需的集群并设置相应的配置参数。
- 根据如下信息,部署Istio。
配置 说明 集群 部署Istio的目标集群。 命名空间 部署Istio的命名空间。 发布名称 发布的Istio名称。 启用 Prometheus 度量日志收集 是否启用Prometheus 收集度量日志。默认情况下启用。 启用 Grafana 度量展示 是否启用Grafana 展示指标的度量数据。默认情况下启用。 启用 Sidecar 自动注入 是否启用 Sidecar 进行容器的自动注入。默认情况下启用。 启用 Kiali 可视化服务网格 是否启用 Kiali 可视化服务网格。默认情况下不启用。 - 用户名:指定用户名称。默认情况下是admin。
- 密码:指定密码。默认情况下是admin。
链路追踪设置 启用链路追踪:启用该选项,则需要开通阿里云链路追踪服务。同时需要指定对应的接入点地址。例如,接入点地址为http://tracing-analysis-dc-hz.aliyuncs.com/…/api/v1/spans,表示启用该选项后,zipkin客户端根据v1版本的 API的公网(或者内网)接入点地址把采集数据传输到链路跟踪。 说明 如果使用内网接入点,请确保Kubernetes集群与链路追踪服务在相同区域,保证网络互通。Pilot设置 跟踪采样百分比(0-100):默认取值为1。 控制Egress流量 - 直接放行对外访问的地址范围:Istio 服务网格内的服务可以直接对外访问的地址范围。默认情况下为空,使用英文半角逗号分隔。
- 拦截对外访问的地址范围:拦截直接对外访问的地址范围。默认情况下,已包含集群 Pod CIDR 与 Service CIDR,使用英文半角逗号分隔。
- 勾选全部选项则会拦截所有对外访问的地址。
说明 直接放行对外访问的地址范围的优先级高于拦截对外访问的地址范围。例如您将同一个IP地址同时配置在直接放行对外访问的地址与拦截对外访问的地址时,您仍可以直接访问此地址,即直接放行对外访问的地址范围生效。
- 单击部署 Istio,启动部署。
在部署页面下方,可实时查看部署进展及状态。
可通过以下方法查看部署是否成功:- 在部署 Istio页面下方,部署 Istio变为已部署。
- 单击左侧导航栏应用 > 容器组,选择部署Istio的集群及命名空间,可查看到已经部署Istio的相关容器组。
- 单击左侧导航栏路由与负载均衡 > 服务,选择部署Istio的集群及命名空间,可查看到已经部署Istio相关服务所提供的访问地址。
- 管理Istio Ingress Gateway。
上述部署 Istio之后,Istio 1.1.4之后默认会创建一个Ingress Gateway。对于已有旧版本,建议升级到当前最新版本。如果需要对Ingress
Gateway的配置进行调整,可以按照如下步骤进行更新。- 在左侧导航栏选择应用 > 发布,单击Helm页签。
- 单击Istio右侧的更新,在弹出的更新发布页面中,可以看到如下示例参数定义。
gateways: enabled: true ingress: - enabled: true gatewayName: ingressgateway maxReplicas: 5 minReplicas: 1 ports: - name: status-port port: 15020 targetPort: 15020 - name: http2 nodePort: 31380 port: 80 targetPort: 80 - name: https nodePort: 31390 port: 443 targetPort: 0 - name: tls port: 15443 targetPort: 15443 replicaCount: 1 serviceType: LoadBalancer k8singress: {}
- 修改相应的参数后,单击更新。
说明
- replicaCount:指定副本数。
- ports:设置启用的端口。
- serviceType:指定服务类型,可以设置为LoadBalancer、ClusterIP或者NodePort。
- serviceAnnotations:当服务类型为设置LoadBalancer时,通过设置serviceAnnotations参数指定使用内网还是公网负载均衡、使用已有的SLB等;其他参数具体参见通过负载均衡访问服务。
- 添加网关。
作为Istio on ACK安装的一部分,提供了一个Istio入口网关。升级时,Istio和包括默认入口网关在内的所有默认资源都会自动升级。
如果添加入口或出口网关,则它们在您的控制之下,并且在自动升级期间不会对其进行修改。请注意,在1.1及更高版本中,默认情况下不安装Istio egress网关。
默认入口网关适用于已安装资源(RBAC、服务、部署),除了添加字段之外不需要自定义的部署。请勿更改默认入口网关配置中的任何值,因为在自动升级期间更改将恢复为默认值。对于需要自定义的更复杂方案,您需要创建新的入口网关。
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5318.html

相关推荐
-
收集 Kubernetes 诊断信息
当Kubernetes集群出现问题,或者节点异常时,您需要收集Kubernetes诊断信息。 说明 当集群异常时,需要在master节点完成收集。 当worker节点异常时,则需要在master节点和异常的worker节点上完成收集。 完成以下步骤在master/worker节点…
2019年12月13日 -
下载编排模板
您可下载已有的编排模板。 前提条件 您已经创建一个编排模板,参见创建编排模板。 操作步骤 登录容器服务管理控制台。 在Kubernetes菜单下,单击左侧导航栏中的市场 > 编排模板,进入模板列表页面,在我的模板下,您可看到已有的编排模板。 选择所需的模板,单击详情,进入模…
2019年12月13日 -
静态云盘卷
本文主要为您介绍如何在CSI插件中挂载静态云盘卷。 前提条件 您已经创建好一个Kubernetes集群,并且在该集群中部署CSI插件。 您已经创建好一个按量付费的云盘。请参见创建按量付费云盘。 创建静态PV和PVC 通过云盘控制台创建云盘后,记录其DiskId为d-wz92s6d…
2019年11月13日 -
创建集群实例
创建一个新的集群实例,并新建指定数量的节点。 具体的 API 描述,参见创建Kubernetes集群和创建 Managed Kubernetes集群。 API请求响应 请求格式 aliyun cs POST /clusters –header “Content-Type=app…
2019年12月13日 -
使用GitLab CI在Kubernetes服务上运行GitLab Runner并执行Pipeline
本文主要演示如何在Kubernetes集群中安装、注册GitLab Runner,添加Kubernetes类型的executor来执行构建,并以此为基础完成一个Java源码示例项目从编译构建、镜像打包到应用部署的CICD过程。 背景信息 本文以构建一个Java软件项目并将其部署到…
-
吊销集群的 KubeConfig 凭证
在常见的多租场景下,容器服务会为不同角色的用户签发带有其身份信息的 KubeConfig 凭证用于连接集群。当企业内部员工离职或是某签发 KubeConfig 遭到疑似泄露等情况发生时,吊销该集群的 KubeConfig 是保护集群安全性的重要手段。本文主要介绍在容器服务中如何吊…
2019年11月1日