Я создал приложение с помощью Docker Compose, которое включало экземпляр Nginx, принимающий соединения через порт 80:
nginx:
image: nginx:1.15.12-alpine
container_name: nginx
volumes:
- etc.
ports:
- 80:80
Я бы хотел раскрутить это приложение на Kubernetes, работающем на моей локальной машине (macOS). Итак, я запустил kompose convert
, задокументировано здесь .
Получено nginx-service.yaml
, которое выглядит так:
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.18.0 ()
creationTimestamp: null
labels:
io.kompose.service: nginx
name: nginx
spec:
ports:
- name: "80"
port: 80
targetPort: 80
selector:
io.kompose.service: nginx
status:
loadBalancer: {}
Я запустил kubectl apply
со всеми файлами YAML, созданными kompose
, а затем kubectl describe svc nginx
:
Name: nginx
Namespace: myproject
Labels: io.kompose.service=nginx
Annotations: kompose.cmd=kompose convert
kompose.version=1.18.0 ()
kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"kompose.cmd":"kompose convert","kompose.version":"1.18.0 ()"},"creationTimestamp":null,...
Selector: io.kompose.service=nginx
Type: ClusterIP
IP: 172.30.110.242
Port: 80 80/TCP
TargetPort: 80/TCP
Endpoints:
Session Affinity: None
Events: <none>
Однако я не могу получить доступ к веб-серверу, перейдя на http://172.30.110.242:80
на том же компьютере.
Существует документация по доступу к службам, работающим в кластерах . Я новичок в k8s и не знаю, как диагностировать проблему и выбрать правильное решение из перечисленных опций.
Является ли дефектом в kompose
то, что он не сгенерировал сопоставимый файл конфигурации службы?