У меня есть следующий файл развертывания
apiVersion: apps/v1
kind: Deployment
metadata:
name: family-tree-deployment
labels:
app: familytree
spec:
replicas: 1
selector:
matchLabels:
app: familytree
template:
metadata:
labels:
app: familytree
spec:
containers:
- name: familytree
image: index.docker.io/koustubh/familytree:v1.0
ports:
- containerPort: 8080
Я мог бы успешно создать развертывание, используя kubectl create -f deploy.yml
Теперь я просто показал это развертывание с помощью следующей команды
kubectl expose deployment family-tree-deployment --type=LoadBalancer --name=familytree-service
Служба успешно создана.
Выход
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
familytree-service LoadBalancer 10.51.244.161 35.221.113.235 8080:30505/TCP 1h
$ kubectl describe svc familytree-service
Name: familytree-service
Namespace: default
Labels: app=familytree
Annotations: <none>
Selector: app=familytree
Type: LoadBalancer
IP: 10.51.244.161
LoadBalancer Ingress: 35.221.113.235
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
NodePort: <unset> 30505/TCP
Endpoints: 10.48.4.7:8080
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
Я мог войти в модуль и убедиться, что служба работает.
Однако когда я использую внешний ip балансировщика нагрузки и запрашиваю api, время соединения истекает.
Я убедился, что брандмауэр разрешает порт 8080.
Мое приложение работает на порту 8080