Kubernetes jenkins развертывание api версия не соответствует - PullRequest
0 голосов
/ 29 августа 2018

Следующий файл развертывания работает, если я загружаю его с локального компьютера.

kind: Deployment
apiVersion: apps/v1
metadata:
  name: api
  namespace: app
spec:
  replicas: 2
  selector:
    matchLabels:
      run: api
  template:
    metadata:
      labels:
        run: api
    spec:
      containers:
      - name: api
        image: gcr.io/myproject/api:1535462260754
        ports:
        - containerPort: 8080
        readinessProbe:
          httpGet:
            path: /_ah/health
            port: 8080
          initialDelaySeconds: 10
          periodSeconds: 5

То же самое на удаленном компьютере Compute Engine, на котором работает Jenkins. На этой машине с ssh я также могу применить этот конфиг. Под оболочкой Jenkins всегда выдает

error: unable to recognize "./dist/cluster/api.deployment.yaml": no matches for kind "Deployment" in version "apps/v1"

Я пытался изменить apiVersion на apps/v1beta1, а также extensions/v1beta1. Не знаю, что еще попробовать.

Обновление 1

версия kubectl на Compute Engine:

Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff0 88eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Pla tform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.7-gke.5", GitCommit:"9b635efce81582e1da13b3 5a7aa539c0ccb32987", GitTreeState:"clean", BuildDate:"2018-08-02T23:42:40Z", GoVersion:"go1.9.3b4", Compiler:"gc ", Platform:"linux/amd64"}

Обновление 2

Запустите работу Дженкинса, показанную ниже.

Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Error from server (Forbidden): <html><head><meta http-equiv='refresh' content='1;url=/securityRealm/commenceLogin?from=%2Fversion%3Ftimeout%3D32s'/><script>window.location.replace('/securityRealm/commenceLogin?from=%2Fversion%3Ftimeout%3D32s');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->

</body></html>

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Благодаря @ csanchez Я понял, что мне нужно получить учетные данные под пользователем jenkins. Для этого я просто запустил эту команду:

gcloud container clusters get-credentials cluster-1 --zone=my-cluster-zone --project myproject
0 голосов
/ 29 августа 2018

Возможно, версия kubectl на вашем сервере или агенте Jenkins устарела. Попробуйте запустить kubectl version из задания Jenkins, чтобы проверить на несоответствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...