istio在虚拟机vm下的安装方法
建议参考官方文档 https://istio.io/latest/zh/docs/setup/install/virtual-machine/ ,这里提醒大家对于命令中文版部分命令与英文版不一致,请以 英文版 为准。
对于istio在vm上的安装教程主要分为三部分。首先是在k8s的master节点生成vm连接主节点的一些配置信息,其实是在vm上应用这些配置信息,最后也就是验证连接是否成功。
本篇主要介绍“单网络”的情况, 对于”多网络“请自行参考官方文档。
vm环境准备
生成vm通讯配置信息
这里主要介绍一些新手迷惑的部分。如环境变量设置及vm注册的方式
设置环境变量
在设置变量时,对于”单网络“来讲 CLUSTER_NETWORK 和 VM_NETWORK 保留空值即可。如我这里设置如下
$ VM_APP="myapp"
$ VM_NAMESPACE="vm"
$ WORK_DIR="/root/myapp"
$ SERVICE_ACCOUNT="vm-sa"
$ CLUSTER_NETWORK=""
$ VM_NETWORK=""
$ CLUSTER="Kubernetes"
每个环境变量的解释:
VM_APP
表示vm上应用的名称
VM_NAMESPACE
表示应用所在的namespace
WORK_DIR
生成vm配置信息保留的目录,任何位置即可
SERVICE_ACCOUNT
服务运行的账号 ,即yaml文件中的 ServiceAccount 字段
CLUSTER
集群名称,默认为 Kubernetes 即可。
安装 Istio 控制平面
1 为安装创建 IstioOperator 空间
cat <<EOF > ./vm-cluster.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
name: istio
spec:
meshConfig:
accessLogFile: /dev/stdout
enableTracing: true
enableEnvoyAccessLogService: true
defaultConfig.envoyAccessLogService.address: skywalking-oap.istio-system:11800
values:
global:
meshID: mesh1
multiCluster:
clusterName: "${CLUSTER}"
network: "${CLUSTER_NETWORK}"
EOF
spec.meshConfig.accessLogFile
表示启用日志功能,这样流量经过envoy 时将在日志 /var/log/istio/istio.log
中输出;其余三个是启用skywaling
链路追踪服务所需要的配置,如果不启用将其删除即可;第四个是链路追踪服务的地址。如果仅仅是想输出日志没有启用流量追踪服务的话,则只配置前两项即可。
By admin
read more