このガイドに従いました link kubernetesクラスターをインストールしましたが、エラーは発生しませんが、kubernetesにアクセスできません-ダッシュボード
やった kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml
そして私が行くとき https://192.168.11.20/ui そこには何もありません
ダッシュボードにアクセスするにはどうすればよいですか?
いくつかの追加情報
[root@kubeMaster ~]# kubectl get nodes
NAME STATUS AGE
kubenode1 Ready 6h
kubenode2 Ready 6h
[root@kubeMaster ~]# kubectl get pods
No resources found.
[root@kubeMaster ~]# kubectl describe svc kubernetes-dashboard --namespace=kube-system
Name: kubernetes-dashboard
Namespace: kube-system
Labels: app=kubernetes-dashboard
Selector: app=kubernetes-dashboard
Type: NodePort
IP: 10.254.81.213
Port: <unset> 80/TCP
NodePort: <unset> 31785/TCP
Endpoints: <none>
Session Affinity: None
No events.
[root@kubeMaster ~]# kubectl get deployment kubernetes-dashboard --namespace=kube-system
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kubernetes-dashboard 1 0 0 0 6h
[root@kubeMaster ~]# kubectl --namespace=kube-system get ep kubernetes-dashboard
NAME ENDPOINTS AGE
kubernetes-dashboard <none> 6h
[root@kubeMaster ~]# kubectl cluster-info
Kubernetes master is running at http://kubeMaster:8080
[root@kubeMaster ~]# kubectl get ns
NAME STATUS AGE
default Active 6h
kube-system Active 6h
[root@kubeMaster ~]# kubectl get ep
NAME ENDPOINTS AGE
kubernetes 192.168.11.20:6443 6h
192.168.0.0/16はプライベートIP範囲です。つまり、アクセスするにはクラスターのネットワーク内にいる必要があります。
クラスター外のサービスにアクセスする最も簡単な方法は、kubectl proxy
を実行することです。これにより、ローカルホストポート8001へのリクエストがKubernetesAPIサーバーにプロキシされます。そこから、apiserverはサービスにプロキシできます。
http:// localhost:8001/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
これは古い質問だと思いますが、解決策を探すのに数時間を費やしました。それはとてもばかげていました...次の来訪者のためにここに投稿します...
プロキシを開始し、127.0.0.1:8080/ui /を参照すると、次のURLにリダイレクトされます。
http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
この場合のこのURLは、白い空の画面として開かれます。問題は、このURLの最後にスラッシュがないことです。追加すると、everethingは魅力として機能しています... :(
http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/
使用する:
kubectl proxy
これにより、次の場所でダッシュボードにアクセスできます。
localhost:8001
実際には実行されていません。そうであった場合、「デプロイの取得」の結果は0ではなく1を返します。
kubectl describe deployment kubernetes-dashboard --namespace=kube-system
を実行してみてください。これがトラブルシューティングの最初のステップになります。結果の最後に、イベントに何かがある可能性があります。
デプロイメントクエリの結果によっては、ポッドのログも確認する必要がある場合があります。
1は、以下のようにssh接続マスターノードと構成sshトンネルを使用しました。
2 kubectlプロキシを開始 kubectlプロキシ
3ローカルホストでhttpurlアクセスダッシュボードを使用 http:// localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/ proxy /#!/ about?namespace = default
ダッシュボードを備えたポッドを実際に見つけるには、実行する必要があります
kubectl get pods --all-namespaces --show-all
または
kubectl get pods --namespace=kube-system
出力に表示される内容から、kubectl proxy
(すでに説明済み)を実行するか、http://{any_node}:31785
に移動します。
Type: NodePort
のダッシュボードサービスがあります。これは、このクラスター内の任意のノードのNodePort
からアクセスできることを意味します。