Nomad & Consul &docker 安装istio

安装

Nomad上的设置尚未经过测试。

在非Kubernetes环境中使用Istio涉及一些关键任务:

  1. 使用Istio API服务器设置Istio控制平面
  2. 将Istio sidecar添加到服务的每个实例
  3. 确保请求通过sidecars进行路由

设置控制平面

Istio控制平面由四个主要服务组成:Pilot,Mixer,Citadel和API服务器。

API服务器

Istio的API服务器(基于Kubernetes的API服务器)提供配置管理和基于角色的访问控制等关键功能。API服务器需要一个etcd集群作为持久存储。请参阅有关设置API服务器的说明

本地安装

出于概念验证的目的,可以使用以下Docker-compose文件安装简单的单个容器API服务器:

version: '2'
services:
  etcd:
    image: quay.io/coreos/etcd:latest
    networks:
      istiomesh:
        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:
      istiomesh:
        ipv4_address: 172.28.0.13
        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和Citadel的Debian软件包可通过Istio版本获得。或者,这些组件可以作为Docker容器运行(docker.io/istio/pilot,docker.io/istio/mixer,docker.io/istio/citadel)。请注意,这些组件是无状态的,可以水平缩放。这些组件中的每一个都依赖于Istio API服务器,而后者又依赖于etcd集群来实现持久性。为了实现高可用性,每个控制平面服务可以作为Nomad中的作业运行,其中服务节可以用于描述控制平面服务的期望属性。

将Sidecars添加到服务实例

应用程序中的每个服务实例都必须附带Istio边车。根据您的安装单位(Docker容器,VM,裸机节点),需要在这些组件中安装Istio边车。例如,如果您的基础架构使用VM,则必须在需要成为服务网格一部分的每个VM上运行Istio sidecar进程。

将边车打包到基于Nomad的部署的一种方法是将Istio边车过程添加为任务组中的任务。任务组是一个或多个相关任务的集合,这些任务保证在同一主机上共存。但是,与Kubernetes Pods不同,组中的任务不共享相同的网络命名空间。因此,在使用iptables规则通过Istio sidecar透明地重新路由所有网络流量时,必须注意确保每个主机只运行一个任务组。如果在Istio中支持非透明代理(应用程序明确与边车交谈),则此限制将不再适用。

通过Istio Sidecar路由流量

边车安装的一部分应该包括设置适当的IP表规则,以通过Istio sidecars透明地路由应用程序的网络流量。可以在此处找到用于设置此类转发的IP表脚本。

必须在启动应用程序或sidecar进程之前执行此脚本。

https://istio.io/docs/setup/consul/install/

转载于:https://my.oschina.net/xiaominmin/blog/1859249

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值