Как запустить Kubernetes без сети SSL - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу начать разработку для проекта Kuberntes. Я хотел отладить сетевой обмен между мастером и рабочим.
В настоящее время они используют сертификаты x509 для связи SSL, и мне нужно увидеть эту связь.

Я установил кластер Kubernetes на машине linux с подключенным сетевым модулем kubeadm и weave, и теперь я хочу отключить сеть SSL, чтобы видеть все трафик c между ними.

Я попытался описать шаги, описанные в этом ответе:

  • Удалено --insecure-port=0 из /etc/kubernetes/manifests/kube-apiserver.yaml
  • Добавлено --insecure-bind-address=0.0.0.0 в /etc/kubernetes/manifests/kube-controller-manager.yaml и /etc/kubernetes/manifests/kube-scheduler.yaml
  • Перезапустить kubelet service kubelet restart

Я создал новое развертывание: kubectl run nginx --image nginx на главном компьютере и на рабочем, который я запускаю tcpdump -i ens3 -w ./traffic.pcap.

Не удалось запустить развертывание.
Я проверил журналы kubelet: journalctl -u kubelet:

Apr 01 12:16:57 master kubelet[10614]: E0401 12:16:57.238125   10614 pod_workers.go:190] Error syncing pod 26ead5e19e83a1d9426b732dc183b75d ("kube-controller-manager-master_kube-system(26ead5e19e83a1d9426b732dc183b75d)"), skipping: failed to "StartContainer" for "kube-controller-manager" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-controller-manager pod=kube-controller-manager-master_kube-system(26ead5e19e83a1d9426b732dc183b75d)"
Apr 01 12:16:59 master kubelet[10614]: E0401 12:16:59.238970   10614 pod_workers.go:190] Error syncing pod 448824ad8c321fa307186a36765b0ee4 ("kube-scheduler-master_kube-system(448824ad8c321fa307186a36765b0ee4)"), skipping: failed to "StartContainer" for "kube-scheduler" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-scheduler pod=kube-scheduler-master_kube-system(448824ad8c321fa307186a36765b0ee4)"  

Как можно отключить связь Kubernetes SSL и отладить ее для разработки?

1 Ответ

2 голосов
/ 01 апреля 2020

Планировщик и диспетчер контроллеров не запустились после добавления --insecure-bind-address, поскольку этот флаг не поддерживается этими двумя компонентами. Таким образом, вы удалите его, и развертывание должно работать.

Вы можете проверить это, выполнив следующую команду для проверки журналов, и вы увидите ошибку unknown flag: --insecure-bind-address

kubectl logs kube-controller-manager-master_kube-system -n kube-system

kubectl logs kube-scheduler-master_kube-system -n kube-system

Редактировать:

Для http-связи между API-сервером и kubelet вы можете установить для --kubelet-https значение false в API-сервере.

...