部署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

相关推荐
-
访问区块链概述
在阿里云上完成了区块链网络的配置和部署之后,区块链的开发者或管理员便可以开始访问区块链网络并使用不同的区块链节点服务。常见的访问方式如下: 开发者或管理员远程连接到区块链节点的容器上,以 CLI 命令方式运行区块链测试,或者进行区块链的管理工作。 区块链应用程序连接区块链网络的 …
2019年12月13日 -
添加已有 ECS 实例到 Kubernetes 集群
添加已有实例到集群。 说明 添加过程中会替换系统盘,需要提前做好数据备份。 请求信息 请求行 RequestLine POST /clusters/{cluster_id}/attach HTTP/1.1 请求行参数 URI Param 名称 类型 是否必须 描述 cluster…
2019年12月13日 -
修复Kubectl cp漏洞CVE-2019-11249的公告
即前不久刚刚暴出的kubectl cp相关漏洞CVE-2019-11246,近日Kubernetes官方又公布了一个kubectl cp相关漏洞 CVE-2019-11249 ,此漏洞可能允许恶意攻击者利用目录遍历(Directory Traversal)的方式将容器tar包中的…
2019年12月13日 -
SSH访问Kubernetes集群
如果您在创建集群时,选择不开放公网 SSH 访问,您将无法 SSH 访问 Kubernetes 集群,而且也无法通过 kubectl 连接 Kubernetes 集群。如果创建集群后,您需要 SSH 访问您的集群,可以手动为 ECS 实例绑定 EIP,并配置安全组规则,开放 SS…
-
使用镜像创建应用-网络配置比对
本文介绍容器服务Swarm集群与Kubernetes集群使用镜像创建应用时,网络配置的比对。 使用镜像创建应用 容器服务Swarm与Kubernetes集群在使用镜像创建应用时,部署界面差异较大。 容器服务Swarm集群,请参考创建应用。 容器服务Kubernetes集群,请参考…
-
查看配置项
您可通过阿里云容器服务 Web 界面查看已创建的配置项。 前提条件 您已成功创建一个 Kubernetes 集群,参见创建Kubernetes集群。 您已创建一个配置项,参见创建配置项。 操作步骤 登录 容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应…
2019年11月11日