在istio 1.5,已经不支持helm方式安装,因为helm已经弃用。helm部分的代码已不在更新。只支持istioctl的方式安装istio。
istioctl在安装包内,可通过下面的链接下载安装包。
https://istio.io/docs/setup/getting-started/#download
安装包解压后,直接将istioctl复制到执行目录就可以用了:
cp bin/istioctl /usr/local/bin/
以下命令可以默认配置安装istio:
istioctl manifest apply
如果想安装demo:
istioctl manifest apply --set profile=demo
但是默认配置有些部件是没有选中的。参考下图:
这样的话,就需要定制安装了。
我们可以直接使用命令行来定制安装:
1 2 3 4 5 6 7 8 9 10 11 12 |
istioctl manifest apply \ --set hub=dockerhub.azk8s.cn/istio \ --set values.prometheus.hub=dockerhub.azk8s.cn/prom \ --set values.gateways.istio-ingressgateway.telemetry_addon_gateways.prometheus_gateway.enabled=true \ --set addonComponents.grafana.enabled=true \ --set values.gateways.istio-ingressgateway.telemetry_addon_gateways.grafana_gateway.enabled=true \ --set addonComponents.kiali.enabled=true \ --set values.kiali.createDemoSecret=true \ --set values.gateways.istio-ingressgateway.telemetry_addon_gateways.kiali_gateway.enabled=true \ --set addonComponents.tracing.enabled=true \ --set values.gateways.istio-ingressgateway.telemetry_addon_gateways.tracing_gateway.enabled=true |
这2行是配置镜像源:
1 2 3 |
--set hub=dockerhub.azk8s.cn/istio \ --set values.prometheus.hub=dockerhub.azk8s.cn/prom \ |
其它的都是启用相关功能及参数。
一个一个这样写参数很麻烦,我们可以写一个配置文件custom_profile.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator metadata: namespace: istio-system name: istio-operator spec: #profile: /data/yaml/istio/istio-1.5.1/install/kubernetes/operator/profiles/default.yaml profile: default #install_package_path: /data/yaml/istio/istio-1.5.1/install/kubernetes/operator/charts #hub: dockerhub.azk8s.cn/istio components: ingressGateways: - name: istio-ingressgateway enabled: true egressGateways: - name: istio-egressgateway enabled: true k8s: resources: requests: cpu: 10m memory: 40Mi addonComponents: kiali: enabled: true grafana: enabled: true tracing: enabled: true prometheus: enabled: true values: global: proxy: autoInject: disabled gateways: istio-egressgateway: autoscaleEnabled: false istio-ingressgateway: autoscaleEnabled: false type: NodePort kiali: createDemoSecret: true prometheus: # hub: dockerhub.azk8s.cn/prom sidecarInjectorWebhook: enableNamespacesByDefault: false objectSelector: enabled: false autoInject: true |
随便说下:我测试下来,用azk8s.cn的镜像有问题。
再用下面的命令安装:
istioctl manifest apply -f profile.yaml
可以用以下命令查看生成的yaml配置:
istioctl manifest generate -f custom_profile.yaml
下面的命令可以删除istio:
istioctl manifest generate -f custom_profile.yaml | kubectl delete -f -
Pingback引用通告: istio 1.5版本升级 – 阿辉的博客