#docker #kubernetes #kubectl #kubeadm
#docker #kubernetes #kubectl #kubeadm
Вопрос:
Я новичок в Kubernetes, и у меня есть некоторые проблемы.
У меня есть сервер Ubuntu, и я работаю над ним. Я создал модули и сервисы, также у меня есть модуль API-шлюза и сервис. И я хочу получить доступ к этому pod с помощью IP-адреса моего сервера Ubuntu с моего компьютера.
Но я не могу получить доступ к этому pod извне сервера. Мое приложение в образе docker работает на порту 80.
Мой api-шлюз.файл yaml такой:
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway
spec:
replicas: 1
selector:
matchLabels:
app: api-gateway
template:
metadata:
labels:
app: api-gateway
spec:
containers:
- name: api-gateway
image: myapi/api-gateway
---
apiVersion: v1
kind: Service
metadata:
name: api-gateway
spec:
selector:
app: api-gateway
ports:
- name: api-gateway
protocol: TCP
port: 80
targetPort: 80
nodePort: 30007
type: NodePort
externalIPs:
- <My Ubuntu Server IP Adress>
и когда я набираю kubectl get services api-gateway, я получаю
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api-gateway NodePort 10.104.42.32 <MyUbuntuS IP> 80:30007/TCP 131m
также, когда я набираю kubectl describe services api-gateway, я получаю
Name: api-gateway
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=api-gateway
Type: NodePort
IP Families: <none>
IP: 10.104.42.32
IPs: 10.104.42.32
External IPs: <My Ubuntu Server IP Adress>
Port: api-gateway 80/TCP
TargetPort: 80/TCP
NodePort: api-gateway 30007/TCP
Endpoints: 172.17.0.4:80
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Type 30m service-controller ClusterIP -> LoadBalancer
Normal Type 6m10s service-controller NodePort -> LoadBalancer
Normal Type 77s (x2 over 9m59s) service-controller LoadBalancer -> NodePort
Итак, как я могу получить доступ к этому pod в браузере или Postman моего ПК?
Комментарии:
1. Как вы пытались подключиться к нему
2. В моем модуле у меня был api. И я пытаюсь подключиться к Postman на своем компьютере (вне сервера). Я отправляю запрос GET на <Мой IP-адрес Ubuntu>
3. На какой порт? ..
4. Я попробовал <Мой IP-адрес Ubuntu>: 80 и <Мой IP-адрес Ubuntu>: 30007
5. Порт 30007 должен подойти. Что именно происходит, когда вы пытаетесь подключиться к порту 30007?