代码之家  ›  专栏  ›  技术社区  ›  mahendra

无法使用minikube设置Istio

  •  2
  • mahendra  · 技术社区  · 6 年前

    我遵循Istio的官方文档,用minikube为示例bookinfo应用程序设置Istio。但我现在 无法连接到服务器:net/http:TLS握手超时

    minikube start
    curl -L https://git.io/getLatestIstio | sh -
    cd istio-1.0.3
    export PATH=$PWD/bin:$PATH
    kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
    kubectl apply -f install/kubernetes/istio-demo-auth.yaml
    kubectl get pods -n istio-system
    

    这是我得到的终端输出

    $ kubectl get pods -n istio-system
    NAME                                      READY     STATUS              RESTARTS   AGE
    grafana-9cfc9d4c9-xg7bh                   1/1       Running             0          4m
    istio-citadel-6d7f9c545b-lwq8s            1/1       Running             0          3m
    istio-cleanup-secrets-69hdj               0/1       Completed           0          4m
    istio-egressgateway-75dbb8f95d-k6xj2      1/1       Running             0          4m
    istio-galley-6d74549bb9-mdc97             0/1       ContainerCreating   0          4m
    istio-grafana-post-install-xz9rk          0/1       Completed           0          4m
    istio-ingressgateway-6bd4957bc-vhbct      1/1       Running             0          4m
    istio-pilot-7f8c49bbd8-x6bmm              0/2       Pending             0          4m
    istio-policy-6c65d8cff4-hx2c7             2/2       Running             0          4m
    istio-security-post-install-gjfj2         0/1       Completed           0          4m
    istio-sidecar-injector-74855c54b9-nnqgx   0/1       ContainerCreating   0          3m
    istio-telemetry-65cdd46d6c-rqzfw          2/2       Running             0          4m
    istio-tracing-ff94688bb-hgz4h             1/1       Running             0          3m
    prometheus-f556886b8-chdxw                1/1       Running             0          4m
    servicegraph-778f94d6f8-9xgw5             1/1       Running             0          3m
    
    $kubectl describe pod istio-galley-6d74549bb9-mdc97
    Error from server (NotFound): pods "istio-galley-5bf4d6b8f7-8s2z9" not found
    

     $ kubectl -n istio-system describe pod  istio-galley-6d74549bb9-mdc97
    Name:           istio-galley-6d74549bb9-mdc97
    Namespace:      istio-system
    Node:           minikube/172.17.0.4
    Start Time:     Sat, 03 Nov 2018 04:29:57 +0000
    Labels:         istio=galley
                    pod-template-hash=1690826493
    Annotations:    scheduler.alpha.kubernetes.io/critical-pod=
                    sidecar.istio.io/inject=false
    Status:         Pending
    IP:
    Controlled By:  ReplicaSet/istio-galley-5bf4d6b8f7
    Containers:
      validator:
        Container ID:
        Image:         gcr.io/istio-release/galley:1.0.0    Image ID:
        Ports:         443/TCP, 9093/TCP    Host Ports:    0/TCP, 0/TCP
        Command:      /usr/local/bin/galley
          validator      --deployment-namespace=istio-system
          --caCertFile=/etc/istio/certs/root-cert.pem
          --tlsCertFile=/etc/istio/certs/cert-chain.pem
          --tlsKeyFile=/etc/istio/certs/key.pem
          --healthCheckInterval=2s
          --healthCheckFile=/health
          --webhook-config-file
          /etc/istio/config/validatingwebhookconfiguration.yaml
        State:          Waiting
          Reason:       ContainerCreating
        Ready:          False
        Restart Count:  0
        Requests:
          cpu:        10m
        Liveness:     exec [/usr/local/bin/galley probe --probe-path=/health --interval=4s] delay=4s timeout=1s period=4s #success=1 #failure=3
        Readiness:    exec [/usr/local/bin/galley probe --probe-path=/health --interval=4s] delay=4s timeout=1s period=4s #success=1 #failure=3
        Environment:  <none>
        Mounts:
          /etc/istio/certs from certs (ro)
          /etc/istio/config from config (ro)
          /var/run/secrets/kubernetes.io/serviceaccount from istio-galley-service-account-token-9pcmv(ro)
    Conditions:
      Type           Status
      Initialized    True
      Ready          False
      PodScheduled   True
    Volumes:
      certs:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  istio.istio-galley-service-account
        Optional:    false
      config:
        Type:      ConfigMap (a volume populated by a ConfigMap)
        Name:      istio-galley-configuration
        Optional:  false
      istio-galley-service-account-token-9pcmv:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  istio-galley-service-account-token-9pcmv
        Optional:    false
    QoS Class:       Burstable
    Node-Selectors:  <none>
    Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                     node.kubernetes.io/unreachable:NoExecute for 300s
    Events:
      Type     Reason                 Age               From               Message
      ----     ------                 ----              ----               -------
      Normal   Scheduled              1m                default-scheduler  Successfully assigned istio-galley-5bf4d6b8f7-8t8qz to minikube
      Normal   SuccessfulMountVolume  1m                kubelet, minikube  MountVolume.SetUp succeeded for volume "config"
      Normal   SuccessfulMountVolume  1m                kubelet, minikube  MountVolume.SetUp succeeded for volume "istio-galley-service-account-token-9pcmv"
      Warning  FailedMount            27s (x7 over 1m)  kubelet, minikube  MountVolume.SetUp failed for volume "certs" : secrets "istio.istio-galley-service-account" not found
    

    一段时间后:-

     $ kubectl describe pod istio-galley-6d74549bb9-mdc97
    
    Unable to connect to the server: net/http: TLS handshake timeout
    

    所以我等着istio侧车注射器和istio厨房容器被创造出来。如果我再跑 或任何其他 库贝克特

    请帮我解决这个问题。 ps:我在ubuntu 16.04上运行minikube

    提前谢谢。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Rico    6 年前

    看来你遇到了 this this 秘密 istio.istio-galley-service-account 在你的生活中不见了 istio-system described

    按照文档中的说明安装: https://istio.io/docs/setup/kubernetes/minimal-install/ 缺少的秘密是由堡垒吊舱创建的,该吊舱由于--set security.enabled=false标志而未运行,设置为true将启动堡垒并创建秘密。

        2
  •  1
  •   mahendra    6 年前

    问题已解决。当我跑的时候 minikube start --memory=4048 . 可能是记忆问题。

        3
  •  0
  •   Lee Calcote    5 年前

    当使用 istio-demo.yaml istio-demo-auth.yaml ,您会发现运行Istio至少需要4GB RAM(特别是在部署其示例应用程序BookInfo时)。这是真的,无论您运行MiniKube或Docker桌面,是一个陷阱 Meshery