Не удается запустить модуль и службу с созданными дескрипторами развертывания и службы - PullRequest
0 голосов
/ 17 апреля 2020

После работы Райана Бакстера Spring на семинаре в Kubernetes я столкнулся с проблемой, которую не могу решить. На этапе «Развертывание в Kubernetes» после генерации файлов depoyment.yaml и services.yaml я запускаю

kubectl apply -f ./k8s

и получаю ошибки проверки:

error validating "k8s/deployment.yaml": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --validate=false
error validating "k8s/service.yaml": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --validate=false 

После запуска

kubectl apply -f ./k8s --validate = false

Я получаю

error: unable to recognize "k8s/deployment.yaml": no matches for extensions/, Kind=Deployment
service"my-app" created

А вот файл yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: my-app
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: my-app
    spec:
      containers:
      - image: docker.io/my-id/my-app
        name: my-app
        resources: {}
status: {}

Исходя из предложения Har sh, я изменяю apiVersion на apps / v1 и снова запускаю команду kubectl apply.

deployment "my-app" created
service "my-app" configured    

На основании того, что показано в часах, я запускаю

kubectl port-forward svc/my-app 8080:80 

где svc / my-app отображается в часах. И это дает

error: invalid resource name svc/my-app: [may not contain '/']       

Для очистки я запускаю

kubectl delete -f ./k8s

И это дает

service "my-app" deleted
Error from server (NotFound): error when stopping "k8s/deployment.yaml": the server could not find the requested resource

Я не знаю, вызваны ли эти проблемы мои ошибки в работе или некоторые ошибки.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

С помощью Har sh и Chanseok я обновляю компоненты gcloud, одним из которых является kubectl.

kubectl version

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:30:10Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

Я повторно запускаю эти команды для развертывания сервера в локальном кластере. Это работает!

Я не могу выставить службу на следующем шаге. EXTERNAL-IP никогда не появляется после модификации service.yaml. Это еще одна проблема.

0 голосов
/ 17 апреля 2020

сохраните и разверните этот файл: kubectl apply -f filename.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: k8s-demo-app
  name: k8s-demo-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: k8s-demo-app
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: k8s-demo-app
    spec:
      containers:
      - image: harbor.workshop.demo.ryanjbaxter.com/user1/k8s-demo-app
        name: k8s-demo-app
        resources: {}
status: {}
---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: k8s-demo-app
  name: k8s-demo-app
spec:
  ports:
  - name: 80-8080
    port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: k8s-demo-app
  type: ClusterIP
status:
  loadBalancer: {}
...