DataStoreError: Неверный ETCD_CA_CERT_FILE. Требуется сертификат центра сертификации, путь к файлу должен быть удобочитаемым.

У меня дома есть два сервера со стабильной версией CoreOS (1185.5.0). Я пытаюсь установить контроллер kubernetes и worker на этих двух.

я использую сценарии coreos-kubernetes для установки с https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/generic и исправлено с https://github.com/kfirufk/coreos-kubernetes-multi-node-универсальный-установочный-скрипт. Я использую rkt для запуска соответствующих контейнеров.

Я использую следующий файл переопределения переменных среды:

ETCD_AUTHORITY=coreos-3.tux-in.com:2379
ETCD_ENDPOINTS="https://coreos-2.tux-in.com:2379,https://coreos-3.tux-in.com:2379"
CONTROLLER_ENDPOINT=https://coreos-2.tux-in.com
K8S_VER=v1.5.0-beta.3_coreos.0
HYPERKUBE_IMAGE_REPO=quay.io/coreos/hyperkube
DNS_SERVICE_IP=10.3.0.10
USE_CALICO=true
CONTAINER_RUNTIME=rkt
OVERWRITE_ALL_FILES=true
ADVERTISE_IP=10.79.218.3
ETCD_CERT_FILE="/etc/ssl/etcd/etcd2.pem"
ETCD_KEY_FILE="/etc/ssl/etcd/etcd2-key.pem"
ETCD_TRUSTED_CA_FILE="/etc/ssl/etcd/ca.pem"
ETCD_SCHEME="https"
IS_MASK_UPDATE_ENGINE=false

coreos-2.tux-in.com, который преобразуется в 10.79.218.2, является узлом контроллера.

coreos-3.tux-in.com, который преобразуется в 10.79.218.3, является рабочим узлом.

кажется, что сценарий контроллера устанавливается нормально.

когда я пытаюсь установить kubernetes worker на 2-й сервер, я заметил, что в журнале kubelet продолжает появляться следующее сообщение об ошибке:

 2016-12-12 12:24:08,171 6960 [kube-system/kubernetes-dashboard-v1.4.1-kjj0c] ERROR Unhandled Exception killed plugin
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: Traceback (most recent call last):
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "<string>", line 773, in main
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "<string>", line 64, in __init__
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "site-packages/pycalico/datastore.py", line 229, in __init__
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: DataStoreError: Invalid ETCD_CA_CERT_FILE. Certificate Authority cert is required and must be a readable file path. Value provided:
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: 2016-12-12 12:24:08,171 6960 [kube-system/kubernetes-dashboard-v1.4.1-kjj0c] ERROR CNI Error:
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: {
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   "msg": "Unhandled Exception killed plugin",
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   "cniVersion": "0.1.0",
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   "code": 100,
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   "details": null
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: }
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: Traceback (most recent call last):
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "<string>", line 773, in main
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "<string>", line 64, in __init__
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]:   File "site-packages/pycalico/datastore.py", line 229, in __init__
Dec 12 12:24:08 coreos-3.tux-in.com kubelet-wrapper[1786]: DataStoreError: Invalid ETCD_CA_CERT_FILE. Certificate Authority cert is required and must be a readable file path. Value provided:

Сообщение об ошибке Invalid ETCD_CA_CERT_FILE показывает, что предоставленное значение пусто, что показывает, что переменная среды ETCD_CA_CERT_FILE по какой-то причине не установлена. Я попытался отредактировать /etc/systemd/system/kubelet.service и добавить Environment=ETCD_CA_CERT_FILE=/etc/ssl/etcd/ca.pem в разделе [Сервис], но результат тот же. Любые идеи ?


person ufk    schedule 12.12.2016    source источник


Ответы (1)


похоже, возникла проблема с анализом параметра ETCD_CA_CERT_FILE в контейнере узлов calico. Я нашел отчет об ошибке, сейчас не могу его найти по какой-то причине, поэтому не могу вставить сюда, извините.

так что в любом случае использование последней версии calico-node устраняет проблему.

(Версия v1.0.0-rc4 вместо 0.19.0)

person ufk    schedule 14.12.2016