Архив рубрики: Проблемы и решения

Описания различных проблем и способы их решения

Kubernetes: spec.ports[0].nodePort: Forbidden: may not be used when `type` is ‘ClusterIP’

26 апреля 2021
 

 Во время деплоя приложения из Helm-чарта, описанного в посте Istio: общий Ingress/AWS ALB, Helm-чарт с условиями, Istio и ExternalDNS, возникает ошибка “spec.ports[0].nodePort: Forbidden: may not be used when `type` is ‘ClusterIP’“. Воспроизведём ошибку вручную, и рассмотрим способы обхода проблемы с помощью kubectl и при использовании Helm. Ошибка spec.ports[0].nodePort: Forbidden: may not be used when `type`… Читать далее »

Istio: причина и решения ошибки “SQLSTATE Connection refused”

22 апреля 2021
 

 Во время старта подов возникает ошибка “SQLSTATE[HY000] [2002] Connection refused’“, при чём в двух разных приложения – на РНР и на NodeJS. В РHР/Yii она возникает во время выполения pre-install hook в деплое Helm и выполнении MySQL Migration Job: Yii Migration Tool (based on Yii v2.0.38)Exception ‘yii\db\Exception’ with message ‘SQLSTATE[HY000] [2002] Connection refused’in /app/vendor/yiisoft/yii2/db/Connection.php:642Error Info:… Читать далее »

Kubernetes: metrics-server – 401 Unauthorized и kubelet stopped posting node status

21 апреля 2021
 

 На Dev-кластере Elastic Kubernetes Service несколько неймспейсов зависли при удалении – остаются в Terminating. “401 Unauthorized”, response: “Unauthorized” Помня похожий случай, где приичной стал metrics-server, см. Kubernetes: namespace висит в Terminating и неочевидности с metrics-server – первым делом пошёл проверять его логи: request failed – “401 Unauthorized”, response: “Unauthorized” – ага. И kubectl top node… Читать далее »

Kubernetes: NodeLocal DNS и ошибка “lookup istiod.istio-system.svc on lookup: no such host”

19 апреля 2021
 

 У нас в Deployments используется кастомный NodeLocal DNS в роли локального кеширующего DNS-сервера, что бы уменьшить количество запросов к AWS VPC DNS, см. Kubernetes: нагрузочное тестирование и high-load тюнинг — проблемы и решения. Выглядит манифест деплоймента так: … dnsPolicy: “None” dnsConfig: nameservers: – 169.254.20.10 … Проблема в том, что при запуске Istio sidecar, а именно… Читать далее »

Istio: общий Ingress/AWS ALB, Helm-чарт с условиями, Istio и ExternalDNS

14 апреля 2021
 

 Продолжаем баловаться с Istio. Предыдущие части: Istio: обзор и запуск service mesh в Kubernetes Istio: интеграция Ingress Gateway с AWS Application LoadBalancer Кроме Istio, мы будем настраивать ExternalDNS, см. Kubernetes: обновление DNS в Route53 при создании Ingress. Всё описанное ниже пока в статусе Proof of Concept, и деплоится на единый Dev-кластер AWS Elastic Kubernetes Service.… Читать далее »

Kubernetes: ExternalDNS – records retrieval failed: failed to list hosted zones: Throttling: status code: 400

9 апреля 2021
 

 Имеется у нас ExternalDNS, см. Kubernetes: обновление DNS в Route53 при создании Ingress, который начал сыпать в лог сообщениями типа: msg=”failed to list resource records sets for zone /hostedzone/Z2VM3W5SRY4I9J: Throttling: \n\tstatus code: 400 И даже в AWS Console в Route53 начали появляться сообщения “Throttling error that was caused because API rate was exceeded. Try again… Читать далее »

Prometheus: ошибки “federation failed: broken pipe” и “Received SIGTERM, exiting gracefully” – постоянные рестарты

7 апреля 2021
 

 Имеется Prometheus сервер, запущенный через Prometheus Operator в Kubernetes-кластере, см. Kubernetes: мониторинг кластера с Prometheus Operator. Prometheus сервера в каждом Kubernetes-кластере через Prometheus federation отправляют данные на центральный сервер. При больших нагрузках, например на нашем Kubernetes Dev кластере, где очень много подов, Prometheus начинает падать с ошибками: level=error ts=2021-03-31T07:31:18.765Z caller=federate.go:192 component=web msg=”federation failed” err=”write tcp… Читать далее »

Kubernetes: Cluster Autoscaler: failed to renew lease

2 апреля 2021
 

 Имеется в нашем Kubernetes Cluster Autoscaler для скейлинга AWS EC2 WorkerNode Groups. На Dev-кластере временами перестаёт работать скейлинг, а под с Cluster Autoscaler в логах пишет следующее: И постоянно уходит в ребуты: См. все доступные опции в What are the parameters to CA? У нас он работает в виде одного инстанса, поэтому отключим “выборы” –… Читать далее »

Kubernetes: namespace висит в Terminating и неочевидности с metrics-server

23 марта 2021
 

 Столкнулся с весьма интересной проблемой при удалении Kubernetes Namespace. При попытке удалить неймспейс – он зависает в статусе Terminating, и никакие попытки его удалить не помогали. Рассмотрим варианты удаления, и докопаемся до причины. Создаём тестовый namespace: Пробуем его удалить – и удаление зависает: Проверяем – висит в Terminating: При этом в логах API-сервера никаких ошибок… Читать далее »

AWS: InvalidSignatureException: Signature not yet current и Kubernetes AWS ALB Ingress controller

4 марта 2021
 

 Одним прекрасным утром девелоперы пожаловались, что не создаются AWS LoadBalancer из Ingress нашего Dev-кластера Kubernetes (AWS EKS). Балансеры создаются через AWS ALB Controller, см. AWS Elastic Kubernetes Service: запуск ALB Ingress controller. Сама ошибка в лога контроллера выглядела так: E0304 07:12:38.595113       1 controller.go:217] kubebuilder/controller “msg”=”Reconciler error” “error”=”no object matching key \”test-namespace/test-ingress\” in local store”  “controller”=”alb-ingress-controller”… Читать далее »