【问题标题】:Spinnaker "Create Application" menu doesn't loadSpinnaker“创建应用程序”菜单未加载
【发布时间】:2017-11-16 22:29:11
【问题描述】:

我对 Spinnaker 很陌生,我想我必须寻求一些帮助。有谁知道为什么我不能创建任何应用程序而只是继续看到这个屏幕。 我的安装是通过 Halyard 1.5.0 和 Ubuntu 14.04。 我们没有使用任何云提供商,但我确实配置了 Docker 和 Kubernetes 部分

这是我在 /var/log/spinnaker/echo/echo.log 中看到的错误:

2017-11-16 13:52:29.901  INFO 13877 --- [ofit-/pipelines] c.n.s.echo.services.Front50Service       : java.net.SocketTimeoutException: timeout
at okio.Okio$3.newTimeoutException(Okio.java:207)
at okio.AsyncTimeout.exit(AsyncTimeout.java:261)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:215)
at okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)
at okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)
at com.squareup.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186)
at com.squareup.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127)
at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:739)
at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:87)
at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:724)
at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:578)
at com.squareup.okhttp.Call.getResponse(Call.java:287)
at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)
at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)
at com.squareup.okhttp.Call.execute(Call.java:80)
at retrofit.client.OkClient.execute(OkClient.java:53)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326)
at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
at retrofit.RestAdapter$RestHandler$1.invoke(RestAdapter.java:265)
at retrofit.RxSupport$2.run(RxSupport.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at retrofit.Platform$Base$2$1.run(Platform.java:94)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Socket closed
at java.net.SocketInputStream.read(SocketInputStream.java:204)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at okio.Okio$2.read(Okio.java:139)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
... 24 more

2017-11-16 13:52:29.901  INFO 13877 --- [ofit-/pipelines] c.n.s.echo.services.Front50Service       : ---- END ERROR

【问题讨论】:

    标签: kubernetes spinnaker


    【解决方案1】:

    @grizzthedj

    再次感谢您的建议。然而,似乎并没有解决问题。我想知道这是否与我的 Docker Registry 或 Kubernetes 有关。 这是我的 .hal/config 中的内容:

    dockerRegistry:
      enabled: true
      accounts:
      - name: <hidden-name>
        requiredGroupMembership: []
        address: https://docker-registry.<hidden-name>.net/
        cacheIntervalSeconds: 30
        repositories:
        - hellopod
        - demoapp
      primaryAccount: <hidden-name>
    
    kubernetes:
      enabled: true
      accounts:
      - name: <username>
        requiredGroupMembership: []
        dockerRegistries:
        - accountName: <hidden-name>
          namespaces: []
        context: sre-os1-dev
        namespaces:
        - spinnaker
        omitNamespaces: []
        kubeconfigFile: /home/<username>/.kube/config
    

    【讨论】:

    • 根据错误,您的问题出在 Front50,它是用于保存大三角帆数据的服务。您在 Front50 日志中看到什么样的错误? /var/log/spinnaker/front50/front50.log
    【解决方案2】:

    我怀疑您可能使用redis 作为持久存储类型(我遇到了同样的问题)。

    如果是这种情况,使用 redis 的持久性存储开箱即用似乎无法正常工作,并且不受支持。如果可用,我会尝试使用 S3 目标。

    More info here on support for redis

    要使用 Halyard 配置 S3,请使用以下命令:

    echo <SECRET_ACCESS_KEY> | hal config storage s3 edit --access-key-id <ACCESS_KEY_ID> --endpoint <S3_ENDPOINT> --bucket <BUCKET_NAME> --root-folder spinnaker --secret-access-key
    hal config storage edit --type s3
    hal deploy apply
    

    【讨论】:

      【解决方案3】:

      @grizzthedj, 这是我在 front50.log 中找到的内容(出于安全原因,我当然删除了 ID) 你可能是对的。

      2017-11-20 12:40:29.151  INFO 682 --- [0.0-8080-exec-1] com.amazonaws.latency                  : ServiceName=[Amazon S3], AWSErrorCode=[NoSuchKey], StatusCode=[404], ServiceEndpoint=[https://s3-us-west-2.amazonaws.com], Exception=[com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: ...; S3 Extended Request ID: ...), S3 Extended Request ID: ...], RequestType=[GetObjectRequest], AWSRequestID=[...], HttpClientPoolPendingCount=0, RetryCapacityConsumed=0, HttpClientPoolAvailableCount=1, RequestCount=1, Exception=1, HttpClientPoolLeasedCount=0, ClientExecuteTime=[39.634], HttpClientSendRequestTime=[0.072], HttpRequestTime=[39.213], RequestSigningTime=[0.067], CredentialsRequestTime=[0.001, 0.0], HttpClientReceiveResponseTime=[39.059],
      

      【讨论】:

        【解决方案4】:

        我在 kubernetes/aws 上遇到了类似的问题,当我打开 chrome 开发控制台时,我在尝试连接到 localhost:8084 时遇到很多 404 错误,我不得不重新配置平台和门基 URL。这就是我使用 halyard 所做的:

        hal config security ui edit --override-base-url http://<deck-loadbalancer-dns-entry>:9000
        hal config security api edit --override-base-url http://<gate-loadbalancer-dns-entry>:8084
        

        我做了hal deploy apply,当它回来时,我注意到开发者控制台抛出了 cors 错误,所以我必须执行以下操作。

        echo "host: 0.0.0.0" | tee \ ~/.hal/default/service-settings/gate.yml \ ~/.hal/default/service-settings/deck.yml
        

        您可能会注意到缺少 TLS 和 cors 配置,这是一个测试系统,因此在生产中做出更好的选择:)

        【讨论】:

          猜你喜欢
          • 2020-02-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-14
          • 1970-01-01
          • 1970-01-01
          • 2011-09-12
          相关资源
          最近更新 更多