代码之家  ›  专栏  ›  技术社区  ›  Artsiom Miksiuk

Kubernetes-jenkins部署api版本不匹配

  •  0
  • Artsiom Miksiuk  · 技术社区  · 6 年前

    如果从本地计算机上载以下部署文件,则该文件有效。

    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
    

    同一个在运行詹金斯的远程计算引擎机器上。在这台机器上,使用ssh,我还可以应用这个配置。在詹金斯的弹壳下执行它总是投掷

    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版本:

    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 回复  |  直到 6 年前
        1
  •  1
  •   csanchez    6 年前

    可能是 kubectl kubectl version

        2
  •  1
  •   Artsiom Miksiuk    6 年前

    多亏了 @卡桑奇 我发现我需要在jenkins用户下获得证书。为此,我运行了以下命令:

    gcloud container clusters get-credentials cluster-1 --zone=my-cluster-zone --project myproject