Maxim
проблема такая где-то в недрах днса
Maxim
ты можешь взять любой под и убедиться в том, что сертификат примонтирован
Maxim
вот так:
kubectl exec -it <pod> cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Denis
Вот это да
Denis
https://coreos.com/kubernetes/docs/latest/deploy-addons.html
Denis
это вот оно да?
Maxim
если у тебя в каком-нить контейнере есть curl, то сделай дополнительную проверку:
kubectl exec -it <pod-with-curl> curl https://<apiserver>:443/
# тут должна быть ошибка про х509
kubectl exec -it <pod-with-curl> curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt https://<apiserver>:443/
# теперь должно стать "unauthorized"
Maxim
если в обоих случаях будет про х509, то значит ты косо настроил аписервер
Denis
А вот сейчас и проверим :) насколько это всё было по японски)
Denis
Unauthorized 🎉
Maxim
Угу
Maxim
Ну тогда делай как я
Denis
Максим, а можешь рассказать, как это работает?
volumes:
- name: ssl-certs-kubernetes
hostPath:
path: /etc/kubernetes/ssl
- name: kubeconfig
hostPath:
path: /etc/kubernetes/kubeconfig.yaml
Maxim
прям по мануалу
Maxim
монтирует папки с дисков
Denis
странно, что в CoreOS-мануале этого нет
Denis
Там оно через etcdпохоже
Maxim
ну у них не принято на диски файлы раскладывать
Maxim
доставлять-то нечем
Maxim
хотя я не знаю, как они без этого kubelet'ы запускают
Maxim
им же тоже нужны ключи
Maxim
так что как-то они их доставили
Maxim
да ну, вот же
Maxim
https://coreos.com/kubernetes/docs/latest/deploy-workers.html
Maxim
TLS Assets
Place the TLS keypairs generated previously in the following locations. Note that each keypair is unique and should be installed on the worker node it was generated for:
File: /etc/kubernetes/ssl/ca.pem
File: /etc/kubernetes/ssl/${WORKER_FQDN}-worker.pem
File: /etc/kubernetes/ssl/${WORKER_FQDN}-worker-key.pem
Maxim
так что у тебя это все тоже есть
Maxim
монтируй и не лечи меня :D
Timur
Народ, а вы как сеть настраивали ? Opevswitch ?
Timur
Хочу поднять кубер на centos
Timur
Или как и в coreos через flannel ?
Denis
Да
Denis
https://coreos.com/kubernetes/docs/latest/
Maxim
У меня Ubuntu + weave
Maxim
@DenisIzmaylov ну чего, запустил днс?
Denis
чё-то не догоняю)
Denis
пытаюсь понять, как и что по мануалу, который ты скинул
Maxim
всмысле?
Maxim
примонтировал одну папку и один файл и поменял параметры запуска у kubedns
Maxim
всё
Denis
В официальном мануале какой-то /usr/lib/coreos/kubelet-wrapper
Maxim
и?
Denis
Сейчас у меня кублет запускается как:
ExecStart=/opt/bin/kubelet \
--address=0.0.0.0 \
--port=10250 \
--hostname-override=${COREOS_PRIVATE_IPV4} \
--api-servers=${COREOS_PRIVATE_IPV4}:8080 \
--allow-privileged=true \
--logtostderr=true \
--cadvisor-port=4194 \
--healthz-bind-address=0.0.0.0 \
--tls-cert-file=/etc/kubernetes/ssl/minion1.pem \
--tls-private-key-file=/etc/kubernetes/ssl/minion1-key.pem \
--cluster-dns=xx.xx.xx.xx \
--cluster-domain="kube.local" \
--healthz-port=10248
Denis
т.е. сами серты прикреплены
Denis
кроме ca.pem
Maxim
а как они без него валидируются? о_О
Maxim
anyway, не важно
Maxim
файлы на хосте есть
Maxim
просто используй их
Denis
Как я понял надо запушить:
apiVersion: v1
kind: Config
clusters:
- name: local
cluster:
certificate-authority: /etc/kubernetes/ssl/ca.pem
users:
- name: kubelet
user:
client-certificate: /etc/kubernetes/ssl/worker.pem
client-key: /etc/kubernetes/ssl/worker-key.pem
contexts:
- context:
cluster: local
user: kubelet
name: kubelet-context
current-context: kubelet-context
Denis
Да, серты локально есть на каждом миньоне, они в разделе write_files файла cloud-config
Denis
https://github.com/coreos/coreos-overlay/blob/master/app-admin/kubelet-wrapper/files/kubelet-wrapper
Arsen
Так к чему пришли, стейтфул сервисы бесполезно контейнеризировать? все эти флокеры просто так навыдумывали?
Maxim
всегда от конкретного кейса зависит
Maxim
контейнеризировать нагруженную SQL-базу - это боль
Maxim
старайтесь по возможности этого избегать
Maxim
контейнеризировать сервис по обработке картиночек с кеширующим nginx'ом - почему бы и нет
Vladimir
А что значит нагруженную?
Maxim
Ну мы же про хранение, значит и нагрузка нас интересует прежде всего на диски
Maxim
Важно понимать хотя бы примерно, сколько иопсов мы получим с конкретной инсталляции распределенной фс
Maxim
И самое важное - нужно понимать это ДО начала кон ейнеризации базы
Vladimir
ну то есть речь об оверхэде на фс?
Vladimir
а не контейнеризации самой по себе?
Maxim
Ну в основном да, конечно. Перфоманс базы не в последнюю очередь зависит от скорости стораджа
Maxim
И тут начинается время приключений
Vladimir
ну мб для всяких риаков и касандр это менее критично
Maxim
Может быть мне как-то клинически не везёт, но я ни разу не видел ещё стабильно повторяющихся показателей при нагрузочном тестировании ни сефа, ни гластера, ни люстры
Maxim
Причём расхождения порой на половину
Maxim
И на это наливать продуктовую базу?..
Zon
Может в облаке стоит смотреть на блок стораджи, а не на кластерные фс?
Maxim
На блок-стораж постгрес не натянешь
Zon
Слишком медленно?
Maxim
Тут надо либо классическую базу на что-то клауд-ориентед менять
Maxim
Либо уже не тащить её в облако
Maxim
Всё это - лишь мнение
Maxim
Моё и моих коллег
Maxim
Я не претендую на истину в последней инстанции
Zon
Классику уже давно не юзал, сказать не могу.
Alexander
а что может заменить PostgreSQL так, чтобы сохранились преимущества PostgreSQL... то есть для реляционных данных, с хорошим языком запросов, достаточно простая в обслуживании
Alexander
вариантов-то нет
Alexander