Artem
а вот дескрайп пода
Ievgen
эндроины?
Эндпоинты. Писа́л на ходу с телефона
Ievgen
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.233.0.1 <none> 443/TCP 13d
modest-bee-em-maps ClusterIP 10.233.14.21 <none> 80/TCP 86m
kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
test-ingress maps.csat.ru 80, 443 78m
kubectl describe ingress test-ingress
Name: test-ingress
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
TLS:
ssl-csat-ru terminates maps.test.ru
Rules:
Host Path Backends
---- ---- --------
maps.csat.ru
/ modest-bee-em-maps:80 (<none>)
Annotations:
kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{},"name":"test-ingress","namespace":"default"},"spec":{"rules":[{"host":"maps.csat.ru","http":{"paths":[{"backend":{"serviceName":"modest-bee-em-maps","servicePort":80},"path":"/"}]}}],"tls":[{"hosts":["maps.test.ru"],"secretName":"ssl-test-ru"}]}}
Можете это все в гист засунуть, пожалуйста? В телеграме вообще не читаемо
Artem
Ievgen
gist.github.com
Andor
dpaste.net
Artem
http://dpaste.com/3VZB2K0
Artem
http://dpaste.com/0D85SHM
Artem
и так и так пробовал
Ievgen
Какой айпи адрес вписываете? Ноды на которой крутится кубернетис?
Artem
на которой ингресс контроллер
Ievgen
Какой вы используете ингресс контроллер? Посмотрите в его лог
Artem
у него в логе вообще ничего нет
Artem
отдельно опубликовал дашборд - работает
Ievgen
Если у вас traefik, там можно поправить чуть-чуть конфигурацию и включить дебаг аутпут, станет видно как он шлёт запрос на апстрим и что получает обратно
Rainbow
Artem
у меня нжикс
Artem
вот что нашел в логах
Artem
W1130 17:15:29.267456 11 controller.go:824] Service "tst/musty-wolf-em-maps" does not have any active Endpoint.
W1201 06:16:59.582288 11 controller.go:824] Service "tst/musty-wolf-em-maps" does not have any active Endpoint.
W1201 19:18:29.885100 11 controller.go:824] Service "tst/musty-wolf-em-maps" does not have any active Endpoint.
Artem
хотя нет, это старый кусок, не актуально
Rainbow
Artem
секрет есть, как только его добавляю, то 503 ошибку отдает по хттпс и там мой серт
Ievgen
Сервис находит нужные поды по селектору
Ievgen
Скопируйте этот селектор и сделайте kubectl get с селектором самостоятельно. Поды видно?
Artem
kubectl get app.kubernetes.io/instance=modest-bee,app.kubernetes.io/name=em-maps
Artem
так?
Artem
Selector: app.kubernetes.io/instance=modest-bee,app.kubernetes.io/name=em-maps
Artem
вот так
Artem
kubectl get po --selector=app.kubernetes.io/instance=modest-bee,app.kubernetes.io/name=em-maps
NAME READY STATUS RESTARTS AGE
modest-bee-em-maps-5c47668987-wk6hp 1/1 Running 0 116m
Ievgen
🤔
Artem
Создаю всё это через хелм. Сейчас удалил и попробовал установить чарт заново
Ievgen
Artem
вот такой лог в ингресс контроллере
Artem
I1205 15:52:19.565648 11 event.go:221] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"angry-peahen-em-maps", UID:"bf2f225e-f8a5-11e8-af9a-0050569f1197", APIVersion:"extensions/v1beta1", ResourceVersion:"2306133", FieldPath:""}): type: 'Normal' reason: 'CREATE' Ingress default/angry-peahen-em-maps
W1205 15:52:19.566749 11 endpoints.go:79] Error obtaining Endpoints for Service "default/angry-peahen-em-maps": no object matching key "default/angry-peahen-em-maps" in local store
W1205 15:52:19.566772 11 controller.go:824] Service "default/angry-peahen-em-maps" does not have any active Endpoint.
I1205 15:52:19.566907 11 controller.go:177] Configuration changes detected, backend reload required.
I1205 15:52:19.697063 11 controller.go:195] Backend successfully reloaded.
I1205 15:52:19.700988 11 controller.go:212] Dynamic reconfiguration succeeded.
W1205 15:52:22.898912 11 controller.go:824] Service "default/angry-peahen-em-maps" does not have any active Endpoint.
I1205 15:52:29.744213 11 status.go:362] updating Ingress default/angry-peahen-em-maps status to [{ }]
I1205 15:52:29.748079 11 event.go:221] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"angry-peahen-em-maps", UID:"bf2f225e-f8a5-11e8-af9a-0050569f1197", APIVersion:"extensions/v1beta1", ResourceVersion:"2306179", FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress default/angry-peahen-em-maps
W1205 15:52:29.749397 11 controller.go:824] Service "default/angry-peahen-em-maps" does not have any active Endpoint.
I1205 15:52:45.078006 11 backend_ssl.go:189] Updating local copy of SSL certificate "default/ssl-csat-ru" with missing intermediate CA certs
W1205 15:52:45.078349 11 controller.go:824] Service "default/angry-peahen-em-maps" does not have any active Endpoint.
I1205 15:52:45.078476 11 controller.go:177] Configuration changes detected, backend reload required.
I1205 15:52:45.301016 11 controller.go:195] Backend successfully reloaded.
I1205 15:52:45.304573 11 controller.go:212] Dynamic reconfiguration succeeded.
Artem
http://dpaste.com/09M4G83 он же
Artem
а вот дескрайб сервиса
Artem
Name: em-maps
Namespace: tst
Labels: app.kubernetes.io/instance=em-maps
app.kubernetes.io/managed-by=Tiller
app.kubernetes.io/name=em-maps
helm.sh/chart=em-maps-0.1.0
Annotations: <none>
Selector: app.kubernetes.io/instance=em-maps,app.kubernetes.io/name=em-maps
Type: ClusterIP
IP: 10.233.9.6
Port: http 80/TCP
TargetPort: http/TCP
Endpoints: <none>
Session Affinity: None
Events: <none>
Ievgen
Endpoints none, эх
Ievgen
Target порт норм?
Ievgen
Точно есть и называется http?
Ievgen
http://dpaste.com/0D85SHM не вижу здесь ничего про то какой порт слушает контейнер в поде
Artem
Ievgen
kubectl explain pod.spec
Artem
подозреваю, что косяк где-то здесь у меня
Artem
spec:
containers:
- name: em-maps
image: "registry.csat.ru/csat/em-maps:latest"
imagePullSecrets:
- name: myregistrykey
imagePullPolicy: Always
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
{}
Ievgen
Ievgen
У портов, и всего что за ними
Artem
Ура!
Artem
Косяк в этом куске, нужно было ниже опустить пуллсекрет
Artem
спасибо большое!
Ievgen
Anonymous
напомните плиз как ноды общаются между собой? поднимается vpn между ними при условии что у каждой есть статичный адрес?
Anonymous
статичный*
Mikhail
overlay или IPIP
Mikhail
у меня почему то не создается секрет, уже не знаю куда смотреть
$ kubectl create -f - <<EOF
> apiVersion: v1
> kind: Secret
> metadata:
> name: build-robot-secret
> annotations:
> kubernetes.io/service-account.name: build-robot
> type: kubernetes.io/service-account-token
> EOF
secret/build-robot-secret created
$ kubectl delete secret build-robot-secret
Error from server (NotFound): secrets "build-robot-secret" not found
Mikhail
разобрался
Mikhail
сначала нужно было создать service-account
blkmrkt
Не понимаю, откуда берется 5й под с ошибкой? Кластер на GCE, autoscaling включен и preemptible instances, replicas: 4 в конфиге. Он тут появляется через 12ч после деплоя примерно.
Mikhail
Ну вот 4 рабочих и есть
Mikhail
В маске наверное видно плохо
Andrey
hi all! дилетантский вопрос - настроен k8s в локальной сети, load balancer и ingress. можно ли как-то указать ingress'у, чтобы если к нему идет обращение с определенного доменного имени, то делался редирект не =внутрь= k8s, а на сервер, расположенный на другом хосте в локальной сети?
Andrey
External service вероятнее всего поможет
Andrey
спасибо, почитаю
Никита
External name же.
A
Коллеги подскажете по prometheus-operator, почему конфиг не перегружается, когда я изменяю уже имеющие servicemonitor, разве только на создание/удаление есть реакция?
G72K
Хотите кровавых историй? Проебал сертификаты , кластер развалился , вроде апы должны продолжать работать, но то ли я тестировал криво такую ситуацию, то ли хитро развалилось кусками, но вобщем каким то макаром контроллер менеджер достучался до аписерверов, до которых кублеты как раз достучаться не могли и пометил почти все ноды NotReady , а заодно и все поды на них. Ингресс контроллер это тоже увидеть успел перед тотальной смертью всего и повыключал все :) сижу репу чешу, как сделать чтоб такой хуиты не повторилось. Себя уволить не предлагать
Vadim
поди сеть сломалась, достучался до аписервера на локалхосте
Vadim
видимо, нужно ставить хитрый лоадбалансер на аписерверы и какие-то хелсчеки на каждый?
Vadim
но как оно достучалось если один из аписерверов не был доступен? Тогда же емнип накрывается все звездой
Andrey
Andrey
Тебя netfilter завернёт в локальный интерфейс просто.
Nik
G72K
видимо, нужно ставить хитрый лоадбалансер на аписерверы и какие-то хелсчеки на каждый?
Да пофиг на аписервера, мне б что б нормально работающие контейнеры продолжали светиться в ингресе/ендпоинтах. Например чтобы поды NotReady не делать, но тогда внутренние запросы буду через раз работать для "законно" отвалившихся нод. Похоже надо вешать финалайзеры на endpoints и убирать их только когда нода из NotReady выходит (или удаляют ее совсем) вобщем относиться к endpoints как к персистент вольюмам :)
G72K
Вообще как внутри и снаружи надо делать выводы о состоянии пода по ответам пода, а не через цепочку "раз нода нотреди то и поды нотреди"