У меня возникла проблема при попытке создать развертывание в Google Cloud с использованием файла YAML Kubernetes. Я вижу, что при использовании файла YAML стручки не создаются; однако, если я использую kubectl create deployment...
, модули создаются.
Мой файл YAML выглядит следующим образом:
#Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
generation: 1
labels:
app: hello-world
name: hello-world
namespace: default
resourceVersion: "3691124"
spec:
progressDeadlineSeconds: 600
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: hello-world
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: hello-world
spec:
containers:
- image: myrepo/hello-world:0.0.4.RELEASE
imagePullPolicy: IfNotPresent
name: hello-world
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
#Service
apiVersion: v1
kind: Service
metadata:
labels:
app: hello-world
name: hello-world
namespace: default
resourceVersion: "3691877"
spec:
externalTrafficPolicy: Cluster
ports:
- nodePort: 32448
port: 8080
protocol: TCP
targetPort: 8001
selector:
app: hello-world
sessionAffinity: None
type: LoadBalancer
Это то, что я вижу, когда запускаю kubectl get all
:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/hello-world LoadBalancer Some IP Some IP 3 8001:32449/TCP 15m
service/kubernetes ClusterIP Some IP 2 <none> 444/TCP 12d
Как видите, единственным запущенным ресурсом была служба. Я не вижу ни развертывания, ни создания каких-либо модулей.
Примечание Я заменил фактические IP-адреса на "Some IP" выше по понятным причинам.
Вопрос: Почему при использовании YAML не создаются модули, а создаются при использовании kubectl create deployment
вместо файла конфигурации YAML?