Istio架构分析
Istio部署
https://github.com/istio/istio/releases/tag/1.13.2
安装异常-查看相关pod的日志
istioctl install --set profile=demo
istioctl profile dump demo
k8s master节点不会下载istio镜像和运行容器
coredns异常问题
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
coredns和istio-proxy的容器日志都提示异常
E0713 08:17:10.668228 1 reflector.go:153] pkg/mod/k8s.io/client-go@v0.17.2/tools/cache/reflector.go:105: Failed to list *v1.Service: Get https://10.96.0.1:443/api/v1/services?limit=500&resourceVersinotallow=0: dial tcp 10.96.0.1:443: connect: no route to host
Failed to watch *v1.Service: failed to list *v1.Service
每个节点执行下面命令
systemctl stop kubelet
systemctl stop docker/containerd
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker/containerd
条件可以的话可以重启一下所有节点
istio卸载安装
istioctl x uninstall --purge
istio管理流量示例
注入到default名称空间下的所有pod
kubectl label namespace default istio-injectinotallow=enabled
kubectl exec "$(kubectl get pod -l app=ratings -o jsnotallow='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"