Я сделал экземпляр ACS.
az acs create --orchestrator-type=kubernetes \
--resource-group $group \
--name $k8s_name \
--dns-prefix $kubernetes_server \
--generate-ssh-keys
az acs kubernetes get-credentials --resource-group $group --name $k8s_name
И запустите helm init
, он отлично подготовил стручок румпеля. Затем я запустил helm install stable/redis
и запустил развертывание Redis (по-видимому).
Я могу kube exec -it
войти в модуль Redis и увидеть его привязку к 0.0.0.0
и могу войти в систему с помощью redis-cli -h localhost
и redis-cli -h <pod_ip>
, но не redis-cli -h <service_ip>
(из kubectl get svc
).
Если я запускаю другой модуль (именно так я столкнулся с этой проблемой), я могу ping redis.default
, и он показывает, что DNS разрешает правильный IP-адрес службы, но не дает ответа. Когда я telnet <service_ip> 6379
или redis-cli -h <service_ip>
он зависает на неопределенный срок.
Я немного не понимаю, как дальше отлаживать. Я не могу подключиться к узлу по ssh, чтобы посмотреть, что делает докер.
Кроме того, я сначала попробовал это со стандартным образом Alphine-Redis, поэтому руль был запасным вариантом. Вчера пробовал, штурвал работает, а ручной нет. Сегодня, делая это (на недавно построенном кластере ACS), он вообще не работает.
Я собираюсь снова раскрутить кластер, чтобы посмотреть, стабильно ли он воспроизводится, но я почти уверен, что происходит что-то подозрительное.
PS — у меня есть виртуальная сеть с перекрывающейся подсетью 10.0.0.0/16 в другом регионе, когда я захожу в диапазон адресов, я получаю там предупреждение о конфликте, может ли это повлиять?
<EDIT>
Некоторое новое понимание ... Это как-то связано с альпийскими изображениями (которые мы стремились использовать) ...
Итак, kube run a --image=nginx
(на основе Ubuntu) и я могу подключиться, установить telnet и подключиться к службе Redis.
Но, напр. kubectl run c --image=rlesouef/alpine-redis
, затем оболочка, и telnet не работает с той же службой Redis.
</EDIT>