#amazon-web-services #kubernetes #amazon-eks
#amazon-web-services #kubernetes #amazon-eks
Вопрос:
Я новичок в EKS (но знаком с k8s), и я пытаюсь запустить свой проект на EKS.
Я запустил развертывание my project и развертывание db, и оба запущены:
kubectl get deploy -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
my-app 1/1 1 1 98m my-app me/my-app:latest app=my-app
db 1/1 1 1 16h db mariadb:10.4.12 app=db
И я создал loadbalancer для доступа к модулям my-app:
get svc -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
my-app LoadBalancer 10.102.XXX.XXX XXX-XXX.us-east-1.elb.amazonaws.com 8000:31722/TCP 114m app=my-app
kubernetes ClusterIP 10.102.0.1 <none> 443/TCP 39h <none>
Я попытался подключиться к веб-сайту через внешний IP-адрес, созданный балансировщиком нагрузки (XXX-XXX.us-east-1.elb.amazonaws.com ), с портом (я пробовал 80, 8000 и 31722), и я получаю сообщение «сайт недоступен».
Я что-то пропустил?
Это служба my-app:
apiVersion: v1
kind: Service
metadata:
name: my-app
spec:
type: LoadBalancer
ports:
- name: "8000"
port: 8000
targetPort: 8000
selector:
app: my-app
Это my-app yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
labels:
app: my-app
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- env:
- name: REVERSE_PROXY
value: "true"
- name: UPLOAD_FOLDER
value: /var/uploads
- name: WORKERS
value: "1"
image: me/my-app:latest
imagePullPolicy: ""
name: my-app
ports:
- containerPort: 8000
resources: {}
restartPolicy: Always
serviceAccountName: ""
Комментарии:
1. 1. предоставьте выходные данные конечных точек. 2. покажите свой yaml развертывания.
2. @Vitalii Я добавил yaml развертывания. И я не знаю, о каких конечных точках вы говорите
3. @Yagel Один раз проверьте группы безопасности вашего elb
4. kubectl получает конечные точки
Ответ №1:
Я бы предложил следующие шаги, чтобы найти первопричину;
- Проверьте, работает ли балансировщик laod XXX-XXX.us-east-1.elb.amazonaws.com домен доступен с хоста / компьютера, к которому вы пытаетесь получить доступ. Вы можете использовать команду ping для проверки доступности сети с вашего хоста / компьютера / ноутбука / рабочего стола.
- Если шаг 1 выполнен успешно, проверьте метрики cloudwatch по умолчанию для вашего балансировщика нагрузки. Пожалуйста, обратитесь к этому документу о просмотре показателей cloudwatch через веб-консоль AWS. Вы можете проверить количество неиспользуемых ошибок в этой метрике.
- Если вы не нашли никакой полезной информации на шаге 2 и если вы включили журналы потоков VPC, то вы можете отслеживать журналы потоков vpc, чтобы проверить, в чем проблема с сетевым трафиком, поступающим и исходящим из AWS load balancer. Для получения дополнительной информации о журналах потоков VPC, пожалуйста, обратитесь к этому документу от AWS.