Size: a a a

Kubernetes — русскоговорящее сообщество

2020 October 21

MP

Matthew P in Kubernetes — русскоговорящее сообщество
Всем привет, может ли кто-нибудь помочь развернуть metric-server секьюрно, без флага --kubelet-insecure-tls? Я не профи в kubernetes, начальство попросило сделать продакшн кластер. Постоянно получаю: x509: cannot validate certificate for 192.168.5.4 because it doesn't contain any IP SANs], уже 2 дня сижу( Спасибо.
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
ну, выпиши новый сертификат
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
написано же - нету SAN IP
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
т.е. в дополнительном поле у тебя айпишники должны быть
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
++
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
Я взял сертификаты с мастер сервера (/etc/kubernetes/apiserver.crt и apiserver.key) создал configmap из них и замаунтил в контейнер metric-server`а (соответственно указал --tls-cert-file --tls-private-key-file). Если я проверяю сертификат через openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout то там есть эти ip адреса.
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
ввиду неопытности могу чего-то не понимать
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
Matthew P
Я взял сертификаты с мастер сервера (/etc/kubernetes/apiserver.crt и apiserver.key) создал configmap из них и замаунтил в контейнер metric-server`а (соответственно указал --tls-cert-file --tls-private-key-file). Если я проверяю сертификат через openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout то там есть эти ip адреса.
Там есть IP сервера с которого ты пытаешься достучаться до API?
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
да
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
Часть вывода openssl:
X509v3 Subject Alternative Name:
               DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local,  
IP Address:10.96.0.1, IP
IP Address:192.168.5.4, IP Address:192.168.5.55

Ошибка metric-server:
Get https://192.168.5.4:10250/stats/summary?only_cpu_and_memory=true: x509: cannot validate certificate for 192.168.5.4 because it doesn't contain any IP SANs]
(и точно такая же с 192.168.5.55)
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
ты openssl идешь на этот эндпойнт ?
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
попробуй openssl в s_client
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
George Gaál
попробуй openssl в s_client
почти такой же вывод:
depth=0 CN = kube-apiserver
verify error:num=20:unable to get local issuer certificate
verify return:1
...
...
X509v3 Subject Alternative Name: X509v3 Subject Alternative Name:
               DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local,  
IP Address:10.96.0.1, IP
IP Address:192.168.5.4, IP Address:192.168.5.55
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
и с мастера и с воркера такой же вывод
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
У тебя он недоверенный
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Тебе надо ca в корневые добавить
источник

MP

Matthew P in Kubernetes — русскоговорящее сообщество
Взял с мастера /etc/kubernetes/ca.crt и тоже добавил его в configmap. В метрик сервере примаунтил и указал через --kubelet-certificate-authority=/ca/ca.crt

Тоже самое(
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Ну, я хз тогда. Разбираться надо
источник

c

corsars in Kubernetes — русскоговорящее сообщество
Alexey Shumkin
Коллеги, вопрос есть про номер пода
ТЗ такое )
Приложения-обработчики (а) журналов ... представляют собой контейнерные приложения, которые разворачиваются в namespace ... в виде StatefulSet.
Механизм Kubernetes StatefulSet используется для задания четко определенного порядкового номера каждому Pod этих приложений для шардирования площадок  между Pod-ами StatefulSet, см. https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity
При каждом запуске, приложения ... считывают свой уникальный порядковый номер Pod, см - https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
   . Затем приложения ... обращаются к API ... по протоколу HTTP для получения списка площадок, которые они должны обслуживать, согласно порядковому номеру своего Pod

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity
При каждом запуске, приложения ... считывают свой уникальный порядковый номер Pod, см - https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
   . Затем приложения ... обращаются к API ... по протоколу HTTP для получения списка площадок, которые они должны обслуживать, согласно порядковому номеру своего Pod

https://github.com/kubernetes/kubernetes/issues/40651
4 года уже висит 🙁

я хочу убедиться по инфе от вас, действительно ли  переменная окружения HOSTNAME и Pod hostname  (из https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identityhttps://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity) - одно и то же? )
Поржал над ТЗ - просто вместо нормального приложения проблемы архитектуры перекладывают на кубер
источник

МР

Марат Рахимов... in Kubernetes — русскоговорящее сообщество
Alexey Shumkin
Коллеги, вопрос есть про номер пода
ТЗ такое )
Приложения-обработчики (а) журналов ... представляют собой контейнерные приложения, которые разворачиваются в namespace ... в виде StatefulSet.
Механизм Kubernetes StatefulSet используется для задания четко определенного порядкового номера каждому Pod этих приложений для шардирования площадок  между Pod-ами StatefulSet, см. https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity
При каждом запуске, приложения ... считывают свой уникальный порядковый номер Pod, см - https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
   . Затем приложения ... обращаются к API ... по протоколу HTTP для получения списка площадок, которые они должны обслуживать, согласно порядковому номеру своего Pod

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity
При каждом запуске, приложения ... считывают свой уникальный порядковый номер Pod, см - https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
   . Затем приложения ... обращаются к API ... по протоколу HTTP для получения списка площадок, которые они должны обслуживать, согласно порядковому номеру своего Pod

https://github.com/kubernetes/kubernetes/issues/40651
4 года уже висит 🙁

я хочу убедиться по инфе от вас, действительно ли  переменная окружения HOSTNAME и Pod hostname  (из https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identityhttps://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-identity) - одно и то же? )
И правда, а нельзя просто подписаться на очередь и выполнять?
источник