- Я создал свой Docker образ и загрузил его в Amazon ECS (репозиторий изображений).
- Я написал файл
deployment.yaml
и запустил kubectl apply -f deployment.yaml
.
Стоит отметить, что я использовал kops для развертывания кластера K8s на AWS EC2
Я вижу, что контейнеры работают в модулях Kubernetes с использованием панели инструментов Kubernetes. Также kubectl get pods -o wide
также показывает мне pods.
Развернутый образ - это простой API, который предоставляет один маршрут. Моя проблема в том, что я не знаю, как запросить только что развернутый контейнер.
Dockerfile развернутого образа:
FROM node:lts
COPY package*.json tsconfig.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["node", "dist/index.js"]
deploy.yaml (kubectl apply -f deployment.yaml
):
apiVersion: apps/v1
kind: Deployment
metadata:
name: vuekcal
spec:
selector:
matchLabels:
app: vuekcal
replicas: 2
template:
metadata:
labels:
app: vuekcal
spec:
containers:
- name: search
image: [my-repo-id].dkr.ecr.eu-central-1.amazonaws.com/k8s-search
ports:
- containerPort: 3000
Что я пробовал:
- Выполнить
kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vuekcal-6956589484-7f2kx 1/1 Running 0 16m 100.96.2.6 ip-172-20-54-21.eu-central-1.compute.internal <none> <none>
vuekcal-6956589484-f4pqf 1/1 Running 0 16m 100.96.1.7 ip-172-20-59-29.eu-central-1.compute.internal <none> <none>
Если получить и IP-адрес из столбца IP
и попытаться свернуть его ничего не происходит:
Я предполагаю, что это потому, что эти IP-адреса являются локальными.
Поиск узла K8s, на котором запущен мой модуль K8s, с моим контейнером и попытка свернуть публичные c IP-адреса этого узла
И то же самое: нет ответа.
Все нормально, если я запускаю контейнер локально docker run k8s-search
.
Я понятия не имею, что здесь делать. Как запросить образ, который развертывание развертывает внутри узла Kubernetes?