Архив рубрики: Virtualization

In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

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, а именно… Читать далее »

AWS: оптимизация расходов — покупка и анализ RDS Reserved Instances

16 апреля 2021
 

 Сейчас активно внедряю решения по уменьшению расходов на инфрастуктуру AWS, решил закинуть пару постов на эту тему. Первым будет тема AWS RDS Reserved Instances. Суть проста: вы обязуетесь использовать определённые инстансы один или три года. При этом есть возможность как оплатить их использование сразу на весь период — тогда скидка будет больше, либо частично, либо… Читать далее »

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… Читать далее »

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? У нас он работает в виде одного инстанса, поэтому отключим «выборы» —… Читать далее »

Istio: установка с Ansible и Helm

1 апреля 2021
 

 В первом посте серии — Istio: обзор и запуск service mesh в Kubernetes — мы деплоили Istio с помощью istioctl. Теперь, используем Ansible и Helm, что бы запустить Istio и настроить его сервисы. Не нашёл Хельм-репозитория с чартом, судя по всему его и нет, хотя обсуждения есть, см. Proposal: Publish Helm chart to a chart repository.… Читать далее »

Istio: интеграция Ingress Gateway с AWS Application LoadBalancer

26 марта 2021
 

 В предыдущем посте — Istio: обзор и запуск service mesh в Kubernetes — запустили Istio в AWS Elastic Kubernetes Service, познакомились с основными компонентами. Следующая задача — добавить AWS Application Load Balancer (ALB) перед Istio Inrgress Gateway, так как Istio Gateway Service с типом LoadBalancer создаёт AWS Classic LoadBalancer, к которому можно подключить только один… Читать далее »