Istio 部署

最近研究service mesh,不可避免需要学习istio。
istio架构本身不算复杂,今天就按照官网部署。部署之前需要自行安装好k8s,最好是1.21版本以上的新版本。k8s部署方法本文不再赘述

  • Istio安装包下载
    curl -L https://istio.io/downloadIstio | sh -
    这个命令执行官方提供的istio下载安装脚本。该脚本会自动帮你匹配合适的linux版本内核。不过前提是你的部署环境能访问github。要不然会下载失败。
    下载完成后该脚本还会自行帮你解压缩下载的Istio文件并在当前目录建立Istio目录。把Istio目录下的bin目录加入PATH环境变量。
    export PATH=$ISTIO_PATH/bin:$PATH
    添加成功并重新加载PATH后,可以执行istioctl命令

  • Istio安装
    非常简单,就一步:
    istioctl install --set profile=demo -y
    不出意外一分钟就装好了。

但是:不出意外一定会出意外的
这里记录下遇到的几个问题

jsonPath的语法:
https://kubernetes.io/zh/docs/reference/kubectl/jsonpath/

  1. k8s 1.21必须开启ipv6,否则kube apiserver有问题
    开启方法:
    在/etc/sysctl.conf内加入下面语句
    net.ipv6.conf.all.disable_ipv6=0
    然后执行sysctl -p即可

  2. 单节点k8s集群必须取消taint
    否则istio服务会一直处于pending状态无法执行
    kubectl taint nodes new-k8s node-role.kubernetes.io/master:NoSchedule-
    加粗标黑部分需要根据自己环境自行修改
    可以通过kubectl describe nodes 查询

你可能感兴趣的:(istio,kubernetes,docker,kubernetes,linux,istio)