В пятницу рассказывал вам про свое отношение к неправильной документации, пришло время поделиться тем, что произошло. Я решил создать кластер k8s в облаке через terraform. Взял готовый список ресурсов из примера и, конечно, дополнил их по-своему.
Кластер создался, но возникла проблема: под приложения ругается на то, что не соединяется с другим сервисом в интернете. Для диагностики создаю под:
apiVersion: v1
kind: Pod
metadata:
name: dns-checker
spec:
containers:
- name: dns-checker
image: busybox:latest
command: ["/bin/sh", "-c"]
args:
- while true; do
echo "=== DNS Test START ===";
nslookup kubernetes.default.svc.cluster.local;
nslookup google.com;
echo "=== DNS Test END ===";
sleep 30;
done
restartPolicy: Never
И вижу, что резолва имен вообще нет. После скейла core-dns с 2 до 1 проверка начинает проходить, но иногда проблема еще 1 раз из 10 воспроизводится.
Вопрос: как дальше диагностировать проблему, что это вообще может быть, и при чем тут документация? Поделитесь в комментах, может, кому-то знакомо?