Istio架构分析

         

Istio安装部署_重启

         

Istio安装部署_github_02

        

Istio安装部署_github_03

 Istio部署

         https://github.com/istio/istio/releases/tag/1.13.2

         

Istio安装部署_github_04

          

Istio安装部署_重启_05

          安装异常-查看相关pod的日志

          istioctl install --set profile=demo

         

Istio安装部署_docker_06

        istioctl profile dump demo

        

Istio安装部署_docker_07

        k8s master节点不会下载istio镜像和运行容器

        

Istio安装部署_重启_08

        

Istio安装部署_重启_09

coredns异常问题

       

Istio安装部署_docker_10

       iptables -P INPUT ACCEPT
       iptables -P FORWARD ACCEPT
       iptables -P OUTPUT ACCEPT
       iptables -F

       

Istio安装部署_重启_11

       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安装部署_github_12

       

Istio安装部署_github_13

       

Istio安装部署_重启_14

       

Istio安装部署_github_15

istio卸载安装

        istioctl x uninstall --purge

         

Istio安装部署_github_16

        

Istio安装部署_docker_17

istio管理流量示例

          注入到default名称空间下的所有pod

          kubectl label namespace default istio-injectinotallow=enabled

         

Istio安装部署_github_18

         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>"

        

Istio安装部署_github_19