2017-07-04 2 views
2

Ich versuche, Spinnaker auf Multi-Knoten bereitzustellen. Ich habe 2 VMs: die erste mit Fall und kubectl die zweite enthält die Kubernetes Master API. meine kubectl ist gut konfiguriert und in der Lage mit dem Remote-Kubernetes api zu kommunizieren,Spinnaker/Fall: Kann nicht mit dem Kubernetes-Cluster kommunizieren

die "kubectl Namespaces zu bekommen" arbeitet

kubectl get namespaces 
NAME   STATUS AGE 
default  Active 16d 
kube-public Active 16d 
kube-system Active 16d 

aber wenn ich laufen diese cmd

hal config provider -d kubernetes account add spin-kubernetes --docker-registries myregistry 
I get this error 
Add the spin-kubernetes account 
    Failure 
Problems in default.provider.kubernetes.spin-kubernetes: 
- WARNING You have not specified a Kubernetes context in your 
    halconfig, Spinnaker will use "default-system" instead. 
? We recommend explicitly setting a context in your halconfig, to 
    ensure changes to your kubeconfig won't break your deployment. 
? Options include: 
    - default-system 

! ERROR Unable to communicate with your Kubernetes cluster: 
    Operation: [list] for kind: [Namespace] with name: [null] in namespace: 
    [null] failed.. 
? Unable to authenticate with your Kubernetes cluster. Try using 
    kubectl to verify your credentials. 

- Failed to add account spin-kubernetes for provider 
    kubernetes. 
+0

Haben Sie versucht, den Cluster in Ihrem halconfig explizit zu setzen? –

Antwort

0

Aus dem Fehler Nachricht scheint es zwei Ansätze dazu, setzen Sie Ihre Halconfig zu sprechen mit dem Standard-System-Kontext, so dass es mit Ihrem Cluster oder anders herum kommunizieren, das ist Ihren Kontext konfigurieren.

Versuchen Sie folgendes:

kubectl config view 

Ich nehme an, Sie werden den Kontext und die aktuellen Kontext dort sehen default-System sein, versuchen, diese zu ändern. Weitere Hilfe tun

kubectl config --help 

Ich denke, man für die Set-Kontext Option suchen. Hoffe, dass hilft.

+0

Nein, ich habe die zu verwendende Konfiguration angegeben, und ich kann mit kubectl auf den Remote-Cluster zugreifen, aber es scheint, dass das Fall eine andere Methode zum Testen des Zugriffs auf den Kubernetes-Cluster verwendet. Ich weiß nicht, ob es eine andere Datei gibt, die ich konfigurieren muss –

0

Sie können dies in Ihrem halconfig wie von @ Naim Salameh erwähnt einstellen.

Eine andere Möglichkeit besteht darin, Ihre K8S-Cluster-Informationen in Ihrer Standard-Kubernetes-Konfiguration ~/.kube/config einzustellen.

Nicht sicher, dass dies funktioniert, da Sie halyard und kubectl auf verschiedenen VMs ausführen.

# ~/.kube/config 
apiVersion: v1 
clusters: 
- cluster: 
    server: http://my-kubernetes-url 
    name: my-k8s-cluster 
contexts: 
- context: 
    cluster: my-k8s-cluster 
    namespace: default 
    name: my-context 
current-context: my-context 
kind: Config 
preferences: {} 
users: [] 
Verwandte Themen