目录

Istio搭建记录📝

Istio搭建记录📝

先前准备

  1. 部署好一个Kubernetes(1.17, 1.18, 1.19, 1.20)
  2. 需要有个cluster

本地搭建

Minikube

要求:

  1. 安装好虚拟机,可以是docker或者VM之类
  2. 安装好Minikube
  3. 设置Minikube的虚拟机驱动(如果不使用默认驱动的话)
1
    minikube config set vm-driver kvm2
  1. 保证本机有足够的性能(例如能支持Minikube的4CPUs和8GB启动)
  1. 根据虚拟机情况设置相应cpu和内存资源,并启动Minikube

    1
    
    minikube start --memory=6144 --cpus=4 --kubernetes-version=v1.20.2
    

    https://libget.com/gkirito/blog/image/2021/image-20210305GM1ygnne%402x.png

  2. (可选,推荐)如果你希望 minikube 提供一个负载均衡给 Istio,你可以使用 minikube tunnel。 在另一个终端运行这个命令,因为 minikube tunnel 会阻塞的你的终端用于显示网络诊断信息。删除可用minikube tunnel --cleanup

  3. 下载Istio

    1
    
    curl -L https://istio.io/downloadIstio | sh -
    
  4. 设置Istio临时环境

    1
    2
    
    cd istio-1.9.1
    export PATH=$PWD/bin:$PATH
    
  5. 安装Istio

    1
    
    istioctl install
    

    或者可以设定安装时的配置文件 如:

    1
    2
    3
    
    istioctl install --set profile=demo -y
    # Or
    istioctl install -f my-config.yaml
    
    1
    2
    3
    4
    5
    6
    
    # my-config.yaml
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      meshConfig:
        accessLogFile: /dev/stdout
    
  6. 给命名空间添加标签,指示 Istio 在部署应用的时候,自动的注入 Envoy 边车代理:

    1
    
    kubectl label namespace default istio-injection=enabled
    

    https://libget.com/gkirito/blog/image/2021/image-20210305FY0MYLLD%402x.png

AWS搭建

要求:

  1. AWS搭建好EKS集群
  2. 配置好本地当前kubectl的config

在确定好kubectl的config为aws的集群后,执行之前本地搭建的2-6步骤,最后可在aws上看到Istio相应基础Delpyment已经加载完成

https://libget.com/gkirito/blog/image/2021/image-20210305AK8yuUJU%402x.png

https://libget.com/gkirito/blog/image/2021/image-20210305ie5M0EaE%402x.png