天行有常,不为尧存,不为桀亡。——荀子《天论》
本文从头介绍Istio环境的搭建流程。
操作系统:MacOS
由于是本机环境,需先搭建一个基础K8S环境,搭建环境时推荐使用minikube
,您也可以直接参考下边链接搭建:Minikube。
如果您英文不错推荐走官方流程,更详细。
在MacOS中安装minikube之前,需要先安装一个VM环境,推荐xhyve
:
brew install docker-machine-driver-xhyve
# docker-machine-driver-xhyve 需要Root权限,执行完后再依次执行下边两个命令
sudo chown root:wheel $(brew --prefix)/opt/ \
docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s $(brew --prefix)/opt/ \
docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
直接安装
根据官方文档执行下边命令(需翻墙访问Google)
curl -LO https://storage.googleapis.com/ \
minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
brew安装
brew install minikube
# 旧版本(BigSur以下)
brew cask install minikube
brew install kubectl
默认的虚拟机环境使用的是hyperkit,如果您想调整可参考链接:虚拟机驱动。
执行启动命令
minikube start
minikube start --driver=virtualbox # 切换到VirtualBox(推荐不解释)
第一次启动由于要下载虚拟机镜像,速度会慢点,之后就很快了。
如果您不能访问外网,可能会看到如下警告:
等待启动完成,您可以看到命令行结果:
运行Dashboard的核心命令(第一次很慢):
minkkube dashboard
运行后您的浏览器会自动打开,这样K8S环境就搭建好了:
参考链接:Getting Started
进入一个空目录,此处我用了
~/Runtime/service-mesn/
。
curl -L https://istio.io/downloadIstio | sh -
下载完成后,修改您的环境变量,将istio-1.11.0/bin
设置到您的$PATH
中,您可以选择重命名该目录,如此操作后,您的istioctl
命令就应该可以使用了(记得用source
或重开命令行)。
执行下边命令安装第一个istio:
istioctl install --set profile=demo -y
此处profile参数依赖配置文件,如果随便写会出现如下错:
istioctl install --set profile=zero -y
generate config: failed to read profile zero from : \
open profiles/zero.yaml: file does not exist
先老老实实直接使用demo,然后等待安装完成:
最后一步是在您的minikube中default名空间中添加istio:
kubectl label namespace default istio-injection=enabled
到这里您的基本步骤就算完成了,istio也算是装上了,若读者想有更深入的了解,可以参考官方文档把后续步骤全部做完,包括发布第一个应用等等。您也可以回到刚刚那个dashboard查看结果:
本文主要讲解了在MacOS中安装K8S环境和istio,为最基础的环境搭建的Guide。