0%

istio部署【在kubernetes上部署】

准备工作

下载istio

下载页面,下载与您的操作系统相对应的安装文件。Linux上可以直接执行下面命令下载并解压最新版

curl -L https://istio.io/downloadIstio | sh -

移至Istio软件包目录

例如,如果软件包为 istio-1.4.2

cd istio-1.4.2

安装目录包含:

  • Kubernetes的安装YAML文件在 install/kubernetes
  • 示例应用程序 samples/
  • 目录中的客户端二进制文件。手动注入Envoy作为Sidecar代理时使用。istioctlbin/istioctl
  • istioctl命令添加到环境变量,如下命令是临时加入
    export PATH=$PWD/bin:$PATH

两种安装方式

istio在kubenetes上有两种安装方式,参考官网

helm template方式安装Istio

创建namespace

kubectl create namespace istio-system

安装所有istio的CRD

先将template导出到istio.yaml

helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio.yaml

然后执行

kubectl apply -f istio.yaml

或者,两个步骤合二为一

helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -

等待所有CRD创建完毕

kubectl -n istio-system wait --for=condition=complete job --all

使用默认配置安装isito,其它配置参考官网,同上,命令也可以分开执行

helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -

helm install方式安装Istio

为Tiller创建service-account,如果已安装好Tiller直接跳过。

kubectl apply -f install/kubernetes/helm/helm-service-account.yaml

安装Tiller,如果已安装好Tiller直接跳过。

helm init --service-account tiller

安装istio-init,其中包括了创建istio的CRDs。

helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system

等待CRD创建完成。

kubectl -n istio-system wait --for=condition=complete job --all

使用默认配置安装istio,其它配置参考官网

helm install install/kubernetes/helm/istio --name istio --namespace istio-system

确定安装完成

kubectl get svc -n istio-system
kubectl get pods -n istio-system

卸载Istio

使用helm template安装方式卸载

helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl delete -f -

kubectl delete namespace istio-system

使用helm install安装方式卸载

helm delete --purge istio
helm delete --purge istio-init
helm delete --purge istio-cni
kubectl delete namespace istio-system

删除CRDs

kubectl delete -f install/kubernetes/helm/istio-init/files

以上就是通过默认配置安装和卸载istio。