安装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版本,但是默认没有开启MutatingAdmissionWebhook
和 ValidatingAdmissionWebhook
,因此不能支持自动注入。
开启步骤如下:
1 分别ssh登陆到master节点(阿里云默认3个master节点),编辑apiserver配置文件
vi /etc/kubernetes/manifests/kube-apiserver.yaml
v1alpha1改成v1beta1.并且将MutatingAdmissionWebhook
和 ValidatingAdmissionWebhook
加入到--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查看是否自动注入就可以了。
网友评论