<p>I followed the experimental k8s install and it seems to work until I open the portal.  Then applications and projects have the title bar but the main page body is just a spinning gear. How can I debug this?</p>

<p>Install instructions: <a href="https://github.com/spinnaker/spinnaker/tree/master/experimental/kubernetes/simple" rel="nofollow noreferrer">https://github.com/spinnaker/spinnaker/tree/master/experimental/kubernetes/simple</a></p>

<p>Here is the only error in a the logs that I've found:</p>

<pre><code>2017-09-12 19:29:35.764  INFO 1 --- [x-credentials-1] c.n.s.g.s.internal.ClouddriverService    : ---- ERROR http://spin-clouddriver.spinnaker:7002/credentials
2017-09-12 19:29:35.765  INFO 1 --- [x-credentials-1] c.n.s.g.s.internal.ClouddriverService    : java.net.SocketTimeoutException: connect timed out 
</code></pre>

<p>Other info:</p>

<pre><code>kubectl describe svc --namespace spinnaker spin-clouddriver
Name:           spin-clouddriver
Namespace:      spinnaker
Labels:         app=spin
            stack=clouddriver
Annotations:        &lt;none&gt;
Selector:       load-balancer-spin-clouddriver=true
Type:           ClusterIP
IP:         100.70.137.138
Port:           &lt;unset&gt; 7002/TCP
Endpoints:      100.96.2.4:7002
Session Affinity:   None
Events:         &lt;none&gt;

kubectl describe pod --namespace spinnaker spin-clouddriver-v000-fmwhr
Name:       spin-clouddriver-v000-fmwhr
Namespace:  spinnaker
Node:       ip-172-20-61-85.ca-central-1.compute.internal/172.20.61.85
Start Time: Wed, 13 Sep 2017 08:11:05 -0400
Labels:     load-balancer-spin-clouddriver=true
        replication-controller=spin-clouddriver-v000
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"spinnaker","name":"spin-clouddriver-v000","uid":"9df7c363-987c-11e7-90ae-02f58db8...
Status:     Running
IP:     100.96.2.4
Created By: ReplicaSet/spin-clouddriver-v000
Controlled By:  ReplicaSet/spin-clouddriver-v000
Containers:
  clouddriver:
    Container ID:   docker://d7c7ba2611186a248f6910c605c71045e0f7300f3ab4857df30ef28b9f9c7f54
    Image:      quay.io/spinnaker/clouddriver:master
    Image ID:       docker-pullable://quay.io/spinnaker/clouddriver@sha256:98be0ee63e040a2bcd8ba6ca6a67d23bb8aab457f4a86882b3da65f043dc895f
    Port:       7002/TCP
    State:      Running
      Started:      Wed, 13 Sep 2017 08:12:03 -0400
    Ready:      True
    Restart Count:  0
    Readiness:      http-get http://:7002/credentials delay=20s timeout=1s period=10s #success=1 #failure=3
    Environment:    &lt;none&gt;
    Mounts:
      /opt/spinnaker/config from spinnaker-config (rw)
      /root/.kube from creds-config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-hpql5 (ro)
Conditions:
  Type      Status
  Initialized   True 
  Ready     True 
  PodScheduled  True 
Volumes:
  spinnaker-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: spinnaker-config
    Optional:   false
  creds-config:
    Type:   Secret (a volume populated by a Secret)
    SecretName: creds-config
    Optional:   false
  default-token-hpql5:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-hpql5
    Optional:   false
QoS Class:  BestEffort
Node-Selectors: &lt;none&gt;
Tolerations:    node.alpha.kubernetes.io/notReady:NoExecute for 300s
        node.alpha.kubernetes.io/unreachable:NoExecute for 300s
Events:
  FirstSeen LastSeen    Count   From                            SubObjectPath       Type        Reason          Message
  --------- --------    -----   ----                            -------------       --------    ------          -------
  19m       19m     1   default-scheduler                               Normal      Scheduled       Successfully assigned spin-clouddriver-v000-fmwhr to ip-172-20-61-85.ca-central-1.compute.internal
  19m       19m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal              Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "creds-config" 
  19m       19m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal              Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-hpql5" 
  19m       19m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal              Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "spinnaker-config" 
  19m       19m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal  spec.containers{clouddriver}    Normal      Pulling         pulling image "quay.io/spinnaker/clouddriver:master"
  18m       18m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal  spec.containers{clouddriver}    Normal      Pulled          Successfully pulled image "quay.io/spinnaker/clouddriver:master"
  18m       18m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal  spec.containers{clouddriver}    Normal      Created         Created container
  18m       18m     1   kubelet, ip-172-20-61-85.ca-central-1.compute.internal  spec.containers{clouddriver}    Normal      Started         Started container
  18m       18m     2   kubelet, ip-172-20-61-85.ca-central-1.compute.internal  spec.containers{clouddriver}    Warning     Unhealthy       Readiness probe failed: Get http://100.96.2.4:7002/credentials: dial tcp 100.96.2.4:7002: getsockopt: connection refused
</code></pre>

<p>Spinnaker's installation has improved dramatically over the past year.  They now have a tool called <a href="https://github.com/spinnaker/halyard" rel="nofollow noreferrer">Halyard</a> that is designed to configure and deploy Spinnaker.  </p>

<p>It can deploy directly into a Kubernetes cluster.</p>

<p>Installation instructions can be found <a href="https://www.spinnaker.io/setup/install/halyard/" rel="nofollow noreferrer">here</a>.</p>
