マスターノードでTLSを使用してapiserverをデプロイしたところ、うまくいきましたが、kubeletをデプロイしてapiserverと通信するときに問題が発生しました。 kubelet confが次のように:なぜkubeletがTLSを使用してapiserverと通信する必要があるのですか?v1.3
/opt/bin/kubelet \
--logtostderr=true \
--v=0 \
--api_servers=https://kube-master:6443 \
--address=0.0.0.0 \
--port=10250 \
--allow-privileged=false \
--tls-cert-file="/var/run/kubernetes/kubelet_client.crt" \
--tls-private-key-file="/var/run/kubernetes/kubelet_client.key"
--kubeconfig="/var/lib/kubelet/kubeconfig"
の/ var/libに/ kubelet/kubeconfigは以下の通りです:
apiVersion: v1
kind: Config
users:
- name: kubelet
user:
client-certificate: /var/run/kubernetes/kubelet_client.crt
client-key: /var/run/kubernetes/kubelet_client.key
clusters:
- name: kube-cluster
cluster:
certificate-authority: /var/run/kubernetes/ca.crt
contexts:
- context:
cluster: kube-cluster
user: kubelet
name: ctx-kube-system
current-context: ctx-kube-system
私は双方向(クライアントとサーバーの両方)を使用してコミュを達成したいと私が試した
> kubectl version
> Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.2", GitCommit:"9bafa3400a77c14ee50782bb05f9efc5c91b3185", GitTreeState:"clean", BuildDate:"2016-07-17T18:30:39Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
> Please enter Username: kubelet
> Please enter Password: kubelet
> error: You must be logged in to the server (the server has asked for the client to provide credentials)
:次のようにいくつかのコマンドライン、私の前に使用したことがない私のユーザー名とパスワードを提供するために、私に尋ねるapiserver CA認証とfluky返事を期待していますが、誰もこのミニチュアミニオンでこれらのすべてを解決してもらえますか?事前に感謝します。
はあなたの絶好の助けをありがとう@SvenWalter:!サプリメントとして、 '--client-CA-file'オプションは、すでにapiserver上で使用することが、私は使用してノード情報を取得しようとしている: 'カールHTTPSを: // kube-master:6443/api/v1/nodes --cert /var/run/kubernetes/server.crt --key /var/run/kubernetes/server.key --cacert/var/run/kubernetes/ca .crt' クライアント証明書の認証問題に属していない可能性がありますか?crtは自己署名されたファイルですが、このメーターですか? – aeolus
CA証明書は自己署名されていませんが、クライアント証明書はCA証明書に署名する必要があります。 – svenwltr