配置阿里云Istio|配置阿里云Istio Sidecar

安装Istio 阿里云默认支持Istio,具体安装
见阿里云文档https://www.alibabacloud.com/help/zh/doc-detail/65437.htm?spm=a2c63.p38356.b99.342.73a7272aKCQ33M
官方资料虽然有点老但开始能用的,当然最好对照Istio官方文档查看
https://istio.io/docs/setup/kubernetes/quick-start.html#installation-steps
设置sidecar injection自动注入 关于 sidecar injection
阿里云虽然升到1.9.x的kubernetes版本,但是默认没有开启MutatingAdmissionWebhookValidatingAdmissionWebhook ,因此不能支持自动注入。
开启步骤如下:
1 分别ssh登陆到master节点(阿里云默认3个master节点),编辑apiserver配置文件

vi /etc/kubernetes/manifests/kube-apiserver.yaml

v1alpha1改成v1beta1.并且将MutatingAdmissionWebhookValidatingAdmissionWebhook加入到--admission-control尾部,如下
- --runtime-config=admissionregistration.k8s.io/v1beta1 - --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota,ValidatingAdmissionWebhook,MutatingAdmissionWebhook

保存修改
2 重启kubelet和etcd服务
systemctl restart kubelet systemctl restart etcd

【配置阿里云Istio|配置阿里云Istio Sidecar】此时等待ps -ef | grep apiserver 观察参数修改是否生效。另外使用kubectl get pod -n kube-system 查看apiserver的pod是否启动正常。类似如下
kube-apiserver-ap-south-1.i-a2d0lc1iedyl0zfx9rn51/1Running034m kube-apiserver-ap-south-1.i-a2d0lc1iedyl0zfx9rn71/1Running143m kube-apiserver-ap-south-1.i-a2da4jimwa45ffq4bitz1/1Running029m

(不用特意杀掉apiserver进程或者删除apiserver的pod,因为apiserver服务一直被kubelet监视, 以上操作kubelet会自动重新部署pod)
之后参考https://istio.io/docs/setup/kubernetes/sidecar-injection.html#deploying-an-app的步骤部署app查看是否自动注入就可以了。

    推荐阅读