配置阿里云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

此时等待ps -ef | grep apiserver 观察参数修改是否生效。另外使用kubectl get pod -n kube-system 查看apiserver的pod是否启动正常。类似如下

kube-apiserver-ap-south-1.i-a2d0lc1iedyl0zfx9rn5            1/1       Running   0          34m
kube-apiserver-ap-south-1.i-a2d0lc1iedyl0zfx9rn7            1/1       Running   1          43m
kube-apiserver-ap-south-1.i-a2da4jimwa45ffq4bitz            1/1       Running   0          29m

(不用特意杀掉apiserver进程或者删除apiserver的pod,因为apiserver服务一直被kubelet监视, 以上操作kubelet会自动重新部署pod)

之后参考https://istio.io/docs/setup/kubernetes/sidecar-injection.html#deploying-an-app的步骤部署app查看是否自动注入就可以了。

你可能感兴趣的:(配置阿里云Istio Sidecar)