Kubernetes上的三角帆:无法在kubernetes中启动大三角帆容器

时间:2016-09-19 10:20:39

标签: kubernetes spinnaker

我正在关注此documentation以在Kubernetes上设置Spinnaker。我按照指定运行脚本。然后启动复制控制器和服务。但有些POD没有启动

root@nveeru~# kubectl get pods --namespace=spinnaker
NAME                           READY     STATUS             RESTARTS   AGE
data-redis-master-v000-zsn7e   1/1       Running            0          2h
spin-clouddriver-v000-6yr88    1/1       Running            0          47m
spin-deck-v000-as4v7           1/1       Running            0          2h
spin-echo-v000-g737r           1/1       Running            0          2h
spin-front50-v000-v1g6e        0/1       CrashLoopBackOff   21         2h
spin-gate-v000-9k401           0/1       Running            0          2h
spin-igor-v000-zfc02           1/1       Running            0          2h
spin-orca-v000-umxj1           0/1       CrashLoopBackOff   20         2h

然后我kubectl describe豆荚

root@veeru:~# kubectl describe pod spin-orca-v000-umxj1 --namespace=spinnaker
Name:       spin-orca-v000-umxj1
Namespace:  spinnaker
Node:       172.25.30.21/172.25.30.21
Start Time: Mon, 19 Sep 2016 00:53:00 -0700
Labels:     load-balancer-spin-orca=true,replication-controller=spin-orca-v000
Status:     Running
IP:     172.16.33.8
Controllers:    ReplicationController/spin-orca-v000
Containers:
  orca:
    Container ID:   docker://e6d77e9fd92dc9614328d09a5bfda319dc7883b82f50cc352ff58dec2e933d04
    Image:      quay.io/spinnaker/orca:latest
    Image ID:       docker://sha256:2400633b89c1c7aa48e5195c040c669511238af9b55ff92201703895bd67a131
    Port:       8083/TCP
    QoS Tier:
      cpu:      BestEffort
      memory:       BestEffort
    State:      Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Mon, 19 Sep 2016 02:59:09 -0700
      Finished:     Mon, 19 Sep 2016 02:59:39 -0700
    Ready:      False
    Restart Count:  21
    Readiness:      http-get http://:8083/env delay=20s timeout=1s period=10s #success=1 #failure=3
    Environment Variables:
Conditions:
  Type      Status
  Ready     False 
Volumes:
  spinnaker-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: spinnaker-config
  default-token-6irrl:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-6irrl
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath       Type        Reason      Message
  --------- --------    -----   ----            -------------       --------    ------      -------
  1h        3m      22  {kubelet 172.25.30.21}  spec.containers{orca}   Normal      Pulling     pulling image "quay.io/spinnaker/orca:latest"
  1h        3m      22  {kubelet 172.25.30.21}  spec.containers{orca}   Normal      Pulled      Successfully pulled image "quay.io/spinnaker/orca:latest"
  1h        3m      13  {kubelet 172.25.30.21}  spec.containers{orca}   Normal      Created     (events with common reason combined)
  1h        3m      13  {kubelet 172.25.30.21}  spec.containers{orca}   Normal      Started     (events with common reason combined)
  1h        3m      23  {kubelet 172.25.30.21}  spec.containers{orca}   Warning     Unhealthy   Readiness probe failed: Get http://172.16.33.8:8083/env: dial tcp 172.16.33.8:8083: connection refused
  1h        <invalid>   399 {kubelet 172.25.30.21}  spec.containers{orca}   Warning     BackOff     Back-off restarting failed docker container
  1h        <invalid>   373 {kubelet 172.25.30.21}              Warning     FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "orca" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=orca pod=spin-orca-v000-umxj1_spinnaker(ee2511f0-7e3d-11e6-ab16-0022195df673)"

旋front50-V000-v1g6e

root@veeru:~# kubectl describe pod spin-front50-v000-v1g6e  --namespace=spinnaker
Name:       spin-front50-v000-v1g6e
Namespace:  spinnaker
Node:       172.25.30.21/172.25.30.21
Start Time: Mon, 19 Sep 2016 00:53:00 -0700
Labels:     load-balancer-spin-front50=true,replication-controller=spin-front50-v000
Status:     Running
IP:     172.16.33.9
Controllers:    ReplicationController/spin-front50-v000
Containers:
  front50:
    Container ID:   docker://f5559638e9ea4e30b3455ed9fea2ab1dd52be95f177b4b520a7e5bfbc033fc3b
    Image:      quay.io/spinnaker/front50:latest
    Image ID:       docker://sha256:e774808d76b096f45d85c43386c211a0a839c41c8d0dccb3b7ee62d17e977eb4
    Port:       8080/TCP
    QoS Tier:
      memory:       BestEffort
      cpu:      BestEffort
    State:      Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Mon, 19 Sep 2016 03:02:08 -0700
      Finished:     Mon, 19 Sep 2016 03:02:15 -0700
    Ready:      False
    Restart Count:  23
    Readiness:      http-get http://:8080/env delay=20s timeout=1s period=10s #success=1 #failure=3
    Environment Variables:
Conditions:
  Type      Status
  Ready     False 
Volumes:
  spinnaker-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: spinnaker-config
  creds-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: creds-config
  aws-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: aws-config
  default-token-6irrl:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-6irrl
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath           Type        Reason      Message
  --------- --------    -----   ----            -------------           --------    ------      -------
  1h        3m      24  {kubelet 172.25.30.21}  spec.containers{front50}    Normal      Pulling     pulling image "quay.io/spinnaker/front50:latest"
  1h        3m      24  {kubelet 172.25.30.21}  spec.containers{front50}    Normal      Pulled      Successfully pulled image "quay.io/spinnaker/front50:latest"
  1h        3m      15  {kubelet 172.25.30.21}  spec.containers{front50}    Normal      Created     (events with common reason combined)
  1h        3m      15  {kubelet 172.25.30.21}  spec.containers{front50}    Normal      Started     (events with common reason combined)
  1h        <invalid>   443 {kubelet 172.25.30.21}  spec.containers{front50}    Warning     BackOff     Back-off restarting failed docker container
  1h        <invalid>   417 {kubelet 172.25.30.21}                  Warning     FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "front50" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=front50 pod=spin-front50-v000-v1g6e_spinnaker(edf85f41-7e3d-11e6-ab16-0022195df673)"

旋栅极v000-9k401

root@n42-poweredge-5:~# kubectl describe pod spin-gate-v000-9k401 --namespace=spinnaker
Name:       spin-gate-v000-9k401
Namespace:  spinnaker
Node:       172.25.30.21/172.25.30.21
Start Time: Mon, 19 Sep 2016 00:53:00 -0700
Labels:     load-balancer-spin-gate=true,replication-controller=spin-gate-v000
Status:     Running
IP:     172.16.33.6
Controllers:    ReplicationController/spin-gate-v000
Containers:
  gate:
    Container ID:   docker://7507c9d7c00e5834572cde2c0b0b54086288e9e30d3af161f0a1dbdf44672332
    Image:      quay.io/spinnaker/gate:latest
    Image ID:       docker://sha256:074d9616a43de8690c0a6a00345e422c903344f6876d9886f7357505082d06c7
    Port:       8084/TCP
    QoS Tier:
      memory:       BestEffort
      cpu:      BestEffort
    State:      Running
      Started:      Mon, 19 Sep 2016 01:14:54 -0700
    Ready:      False
    Restart Count:  0
    Readiness:      http-get http://:8084/env delay=20s timeout=1s period=10s #success=1 #failure=3
    Environment Variables:
Conditions:
  Type      Status
  Ready     False 
Volumes:
  spinnaker-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: spinnaker-config
  default-token-6irrl:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-6irrl
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath       Type        Reason      Message
  --------- --------    -----   ----            -------------       --------    ------      -------
  1h        <invalid>   696 {kubelet 172.25.30.21}  spec.containers{gate}   Warning     Unhealthy   Readiness probe failed: Get http://172.16.33.6:8084/env: dial tcp 172.16.33.6:8084: connection refused

这里有什么问题?

UPDATE1

日志(请查看日志here

2016-09-20 06:49:45.062 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:690)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
    at org.springframework.boot.builder.SpringApplicationBuilder$run$0.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at com.netflix.spinnaker.front50.Main.main(Main.groovy:47)
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:384)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:156)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:159)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
    ... 10 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration'........
..........

UPDATE-1(2017年2月6日)

我在最新版本的K8中再次尝试了上面的设置

Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:44:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:33:17Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

仍然不是所有的POD都已启动

ubuntu@ip-172-31-18-78:~/spinnaker/experimental/kubernetes/simple$ kubectl get pods --namespace=spinnaker
NAME                           READY     STATUS             RESTARTS   AGE
data-redis-master-v000-rzmzq   1/1       Running            0          31m
spin-clouddriver-v000-qhz97    1/1       Running            0          31m
spin-deck-v000-0sz8q           1/1       Running            0          31m
spin-echo-v000-q9xv5           1/1       Running            0          31m
spin-front50-v000-646vg        0/1       CrashLoopBackOff   10         31m
spin-gate-v000-vfvhg           0/1       Running            0          31m
spin-igor-v000-8j4r0           1/1       Running            0          31m
spin-orca-v000-ndpcx           0/1       CrashLoopBackOff   9          31m

这是日志链接

Front50 https://pastebin.com/ge5TR4eR

Orca https://pastebin.com/wStmBtst

登机https://pastebin.com/T8vjqL2K

甲板https://pastebin.com/kZnzN62W

Clouddriver https://pastebin.com/1pEU6V5D

回声https://pastebin.com/cvJ4dVta

Igor https://pastebin.com/QYkHBxkr

我错过了任何配置吗?我没有触及yaml config(更新Jenkins网址,uname,passwd),我收到了错误?我是Spinnaker的新手。我对正常的Spinnaker安装知之甚少。请指导我安装。

由于

4 个答案:

答案 0 :(得分:1)

这是一个非常古老的问题。在我开始研究Spinnaker时,还没有Halyard或有关如何在K8s上设置Spinnaker的适当文档。由于看到了这个问题的注意,我只想提供一些资源和工具来快速设置。

答案 1 :(得分:0)

使用吊索安装大三角帆。这是在kubernetes clsuter中部署大三角帆的推荐方法

答案 2 :(得分:0)

基于这些错误,Front50服务似乎无法到达任何后端(如果配置了一个后端)。我不会直接修改spinnaker-local.yml文件,而是使用Halyard将Spinnaker服务安装到Kubernetes中。

我已经使用this repo中的说明和脚本在Kubernetes中成功设置了Spinnaker服务。只需省略/跳过不需要的组件即可。

https://github.com/grizzthedj/kubernetes-spinnaker

答案 3 :(得分:0)

可能是coredns问题。 Orca主要负责在命名空间中跨服务建立通信。

尝试进入一些正在运行的Pod(或使用busybox pod)来nslookup spin- *服务。 检查coredns pod的日志。 尝试重新启动coredns pod(最后一个选择)