Denis
при этом kubectl get nodes работает только на master01
G72K
у вас kubelet в мастеры как ходит?
Denis
на воркерах через балансер
G72K
у kubelet раньше даже пингов не было, чтобы отвалившийся apiserver поймать. сейчас вроде сделали, так что worker01 должен скоро появиться
Irina
привет, простите за нубский вопрос, только недавно начала разбираться
вот у меня есть сервис, он по запросу на определённый порт (положим 8765) возвращает маленький json со статусом. Когда я захожу через kubectl exec ... -it sh в сам сервис и вызываю там curl localhost:8765, то возвращается то что нужно
теперь пытаюсь создать ингресс чтобы сделать доступ извне. Создала ингресс-контроллер, создала ингресс. Чтобы проверить, работает ли, захожу опять в контейнер и вызываю теперь уже айпи:порт. Курл молчит.
А теперь мой вопрос: как бы мне последовательно проверить, какие из этих штук (сервис, ингресс, контроллер) работают как надо?
Anton
сервис у вас какого типа?
G72K
привет, простите за нубский вопрос, только недавно начала разбираться
вот у меня есть сервис, он по запросу на определённый порт (положим 8765) возвращает маленький json со статусом. Когда я захожу через kubectl exec ... -it sh в сам сервис и вызываю там curl localhost:8765, то возвращается то что нужно
теперь пытаюсь создать ингресс чтобы сделать доступ извне. Создала ингресс-контроллер, создала ингресс. Чтобы проверить, работает ли, захожу опять в контейнер и вызываю теперь уже айпи:порт. Курл молчит.
А теперь мой вопрос: как бы мне последовательно проверить, какие из этих штук (сервис, ингресс, контроллер) работают как надо?
1) kubectl exec вы делали в конкретный контейнер в поде. сервис это надстройка над множеством подов, на которые она раскидывает трафик (через DNAT по IP или DNS round robin или вообще внешний балансер в облаках). порт в контейнере в общем случае может отличаться от порта в сервисе
2) проверить, что ингрес контроллер работает просто - постучитесь в него извне куба по какому нибудь имени, о котором он точно незнаетт, должны получить "404 - default backend"
Irina
Anton
чтобы в целом разобраться в вопросе, я бы порекомендовал (в довесок к документации) цикл статей, которые про это рассказывают: https://medium.com/google-cloud/understanding-kubernetes-networking-pods-7117dd28727
там три статьи, последняя как раз про ингресс.
Теоретически, вы могли ошибиться где угодно. Проверьте, что сервис доступен по ip ноды, порт должен быть другим.
Irina
спасибо!
Anton
если у вас Load Balancer и есть внешний IP, то он уже должен был быть доступен без ingress, это тоже можно проверить
Alexander
▫️Какой у вас проект или где работаете?
Игровой проект, Vizor Games
▫️В чём вы специалист?
разработка 3д игр, веб-разработка, Arduino
▫️Чем можете быть интересны или полезны сообществу?
пока не в курсе
▫️Чем интересно сообщество вам?
информацией о kubernetes
▫️Откуда вы?
Минск
▫️Как узнали про группу?
от коллеги
#whois
Anonymous
▫Какой у вас проект или где работаете?
API for compex distributed system
▫В чём вы специалист?
java backend, services, architecture
▫Чем можете быть интересны или полезны сообществу?
время покажет
▫Чем интересно сообщество вам?
новости, опыт использования
▫Откуда вы?
Spb
▫Как узнали про группу?
ссылка на habr
#whois
Pasha Chalyk
господа, кто нибудь кубеспреем ставил докер на devicemapper'e?
Pasha Chalyk
ок, как мне кубеспрей заставить конфигурить devicemapper вместо overlay
Pasha Chalyk
Или чтобы он докер сам вообще не ставил, а я б его сам предварительно наконфигурил
Andor
А почему ты хочешь именно дм?
Pasha Chalyk
Потому что вот https://bugs.openjdk.java.net/browse/JDK-8165852
G72K
Vadim
Debian в ядром из Jessie на btrfs?
Vadim
думаю что тут надо не об overlayfs vs. devicemapper стоит задуматься
Anton
etcd-0 Unhealthy Get https://192.168.117.101:2379/health: x509: certificate signed by unknown authorityкуда копать?
Anton
у меня корневой сертификат самодельный (ну и вообще все самодельные)
Mikhail [azalio]
Anton
kubectl get componentstatuses
Anton
можно как-то проверить один etcd в отрыве от куба?
Mikhail [azalio]
etcdctl cluster-health
Anton
$ openssl s_client -connect 192.168.117.101:2379
...
verify error:num=20:unable to get local issuer certificate
verify return:1
...
Anton
$ etcdctl cluster-health
failed to check the health of member 1d7b8e70f80b643a on https://192.168.117.101:2379: Get https://192.168.117.101:2379/health: x509: certificate signed by unknown authority
member 1d7b8e70f80b643a is unreachable: [https://192.168.117.101:2379] are all unreachable
cluster is unhealthy
Mikhail [azalio]
Ну можно подложить сертификат свой к другим корневым...
Anton
у меня всего два, один корневой, один для kube-apiserver, который используется в etcd
Anton
куда положить?
Sergey
но у меня бубунта и сворм, сегодня на этот же месадж приехал когда в регистри docker login делал
Anton
у меня тоже убунта, никак не пойму куда положить
$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Anton
куда только не положил уже
Tony
Mikhail [azalio]
Не поможет поищи более свежий туториал
Sergey
Anton
openssl x509 -in foo.pem -inform PEM -out foo.crt — вот этого шага мне не хватало, в первой загугленной ссылке его почему-то не было, спасибо
Anton
да, но проблему с etcd это не решило...
Sergey
а ты передернул etcd?
Mikhail [azalio]
Anton
Anton
Это сейчас ок?
unable to get local issuer certificate — конкретно вот это пропало
Anton
139892259767960:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:s3_pkt.c:1487:SSL alert number 42осталось вот это
Mikhail [azalio]
—trusted-ca-file вижу опцию у etcd
Mikhail [azalio]
Попробуй с ней
Anton
у меня с ней
Mikhail [azalio]
И на cluster-health выдаёт ошибку в логах нет ничего внятного?
Mikhail [azalio]
Ошибку сертификата
Anton
$ etcdctl cluster-health
failed to check the health of member 1d7b8e70f80b643a on https://192.168.117.101:2379: Get https://192.168.117.101:2379/health: remote error: tls: bad certificate
member 1d7b8e70f80b643a is unreachable: [https://192.168.117.101:2379] are all unreachable
cluster is unhealthy
Anton
в логах ничего такого, за что цеплялся бы глаз
Mikhail [azalio]
Ну уже другая ошибка :)
Mikhail [azalio]
Такое ощущение что не тот сертификат используется у etcd
Mikhail [azalio]
Но я уже гадаю
Pavel
Pavel
Ощущение, что etcd ждет что к нему будут коннектиться с клиентским сертификатом
Pasha Chalyk
Pasha Chalyk
Непонятно может ли кубеспрей настраивать дм вместо оверлея
Anatoly
например?
Anatoly
он же контейнеры в докер устанавливает, а как оно там внутри ему пофиг
Pasha Chalyk
Кубеспрей сам ставит докер в слейвы
Anatoly
docker info
Pasha Chalyk
Storage driver: overlay
Anton
Pavel
Ну тогда нужен клиенский сертификат)
Pavel
etcdctl клиентский сертификат можно подпихнуть такими ключами:
--cert-file value identify HTTPS client using this SSL certificate file
--key-file value identify HTTPS client using this SSL key file
Terry
Oracle Fn
Соонователь Iron.io, ныне директор по направлению serverless в Oracle, Чед Аримура рассказал подробнее о serverless/FaaS платформе Fn, применяемой для создания инфраструктуры микро и наносервисов, на базе Docker, Kubernetes и написанных на различных языках программирования.
https://youtu.be/YgNrGT8pzYw
#serverless
#FaaS
#Go
#Golang
Ссылки по теме:
https://t.me/technologique/1177
https://t.me/technologique/608
Pasha Chalyk
G72K