У меня есть приложение, работающее в экземпляре EC2. Он запускает несколько контейнеров по сети:Развертывание сети контейнеров в одном контейнере K8s
docker run --name purple \
--net=treeOfPlums \
--net-alias=purple \
-d treeofplums/purple
docker run --name shiny \
--net=treeOfPlums \
--net-alias=shiny \
-d treeofplums/shiny
В этом случае контейнеры purple
и shiny
могут общаться, потому что они оба на treeOfPlums
с псевдонимами purple
и shiny
соответственно.
Я хочу развернуть это приложение на K8s. Я использую minikube для разработки. Я не хочу использовать docker-in-docker здесь, где мое главное приложение - это контейнер, и это закручивает все остальное. Вместо этого я хотел бы сделать их всеми братьями и сестрами.
Мой вопрос: как указать имя сети и псевдонимы контейнеров в этой сети в контейнере K8s?
Использование ключевых слов network
и network-alias
в развертывании yaml не будет работать. Насколько я понимаю, контейнеры в одном контейнере находятся в одной сети, так что установка псевдонима будет достаточной. Я имею в виду что-то вроде:
spec:
containers:
- name: purple
image: purple
network: treeOfPlums
net-alias: purple
...