Если я запускаю команду
kubectl expose deployments/some-app --type=NodePort
, она работает.
Если я запускаю команду
kubectl apply -f expose.yml
Где содержимое файла expose.yml равно
apiVersion: v1
kind: Service
metadata:
name: some-app
labels:
app: some-app
spec:
type: NodePort
ports:
- port: 8080
selector:
app: some-app
Я не могу связаться с сервисом.
В чем разница? Почему 2-й подход не работает?
РЕДАКТИРОВАТЬ: Используйте NodePort также в yml
РЕДАКТИРОВАТЬ: Результат команды kubectl expose deployments/some-app --type=NodePort --dry-run -o yaml
:
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: some-app
type: spring-app
name: some-app
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
name: some-app
type: NodePort
status:
loadBalancer: {}