安装
在非Kubernetes环境中使用Istio涉及如下关键任务:
设置控制面
Istio控制平面由四个主要服务组成:Pilot,Mixer,CA和API服务器。
API服务器
Istio的API服务器(基于Kubernetes的API服务器)提供了诸如配置管理和基于角色的访问控制等关键功能。API服务器需要一个etcd集群作为持久性存储。可以在这里找到设置API服务器的详细说明。有关Kubernetes API服务器启动选项的文档可以在这里找到
本地安装
为了进行概念验证,可以使用以下Docker Compose文件安装简单的单个容器API服务器:
version: '2'
services:
etcd:
image: quay.io/coreos/etcd:latest
networks:
default:
aliases:
- etcd
ports:
- "4001:4001"
- "2380:2380"
- "2379:2379"
environment:
- SERVICE_IGNORE=1
command: [
"/usr/local/bin/etcd",
"-advertise-client-urls=http://0.0.0.0:2379",
"-listen-client-urls=http://0.0.0.0:2379"
]
istio-apiserver:
image: gcr.io/google_containers/kube-apiserver-amd64:v1.7.3
networks:
default:
aliases:
- apiserver
ports:
- "8080:8080"
privileged: true
environment:
- SERVICE_IGNORE=1
command: [
"kube-apiserver", "--etcd-servers", "http://etcd:2379",
"--service-cluster-ip-range", "10.99.0.0/16",
"--insecure-port", "8080",
"-v", "2",
"--insecure-bind-address", "0.0.0.0"
]
其他Istio组件
Istio Pilot,Mixer和CA的Debian软件包可通过Istio发行版获得。或者,这些组件可以作为Docker容器运行(docker.io/istio/pilot,docker.io/istio/mixer,docker.io/istio/istio-ca)。请注意,这些组件是无状态的,可以水平缩放。每个组件都依赖于Istio API服务器,而Istio API服务器又依赖于etcd集群来实现持久性。
添加sidecars服务实例
应用程序中的每个服务实例必须由Istio边车陪同。根据您的安装单元(Docker容器,虚拟机,裸机节点),Istio边车需要安装到这些组件中。例如,如果您的基础架构使用虚拟机,则必须在需要成为服务网格一部分的每个虚拟机上运行Istio附属程序进程。
通过Istio Sidecar路由流量
部分边车安装应该包括设置适当的IP表规则,以透明地路由应用程序的网络流量通过Istio sidecars。可以在这里找到设置这种转发的IP表脚本。
注意:这个脚本必须在启动应用程序或sidecar进程之前执行。
Cloud Foundry 安装
安装
我们正在与Cloud Foundry开发人员合作,将Istio本地整合到Cloud Foundry平台中。调入Istio Developers邮件列表以获得更新。
Mesos 安装
安装
Mesos目前不支持Istio。但是,您可能能够利用我们的Consul集成与Consul一起在Mesos上运行Istio Mesh。有关更多详细信息,请参阅Consul安装。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/94290.html