2016-11-11 10 views
1

最近、Kubernetes 1.2.0からKubernetes 1.3.0にアップグレードしました。ジョブを開始しようとすると次のエラーが発生します。Kubernetesジョブを作成すると、 'バッチ/種類:ジョブは複数の種類に一致します'

apiVersion: batch/v1 
kind: Job 
metadata: 
    name: pi 
spec: 
    template: 
    metadata: 
     name: pi 
    spec: 
     containers: 
     - name: pi 
     image: perl 
     command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] 
     restartPolicy: Never 

それはapiVersion: batch/v1, Kind: Jobが有効であることを示唆しているため、エラーが紛らわしいです:pijob.yamlはチュートリアルからジョブ定義である

$ kubectl create -f pijob.yaml 
unable to recognize "pijob.yaml": batch/, Kind=Job matches multiple kinds [batch/v1, Kind=Job batch/v2alpha1, Kind=Job] 

。私はapiVersion: batch/v2alpha1, Kind: Jobをしようとすると、私はまた、エラーを取得する:私が間違って

$ kubectl create -f pijob.yaml 
error validating "pijob.yaml": error validating data: couldn't find type: v2alpha1.Job 

何をしているのですか?

+0

kubectlとapiサーバーの両方が1.3になっていますか? –

+0

@EricTuneはい、apiserver、kubectl、kubelet(ノード上)はすべてKubernetes 1.3.0 – morxa

+0

です - 何が--runtime-configを使用していますか? –

答えて

0

apiVersion: extensions/v1beta1を試しましたか?

0

あなたのkubernetesサーバーとクライアントのバージョンを確認して同じものを作成してください。

[[email protected] dan]# kubectl version 

Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"86dc49aa137175378ac7fba7751c3d3e7f18e5fc", GitTreeState:"clean", BuildDate:"2016-12-15T16:57:18Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"} 
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:52:01Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 
[[email protected] dan]# kubectl create -f ./job.yaml 

error: unable to recognize "./job.yaml": batch/, Kind=Job matches multiple kinds [batch/v1, Kind=Job batch/v2alpha1, Kind=Job] 

[[email protected] dan]# wget https://storage.googleapis.com/kubernetes-release/release/v1.5.1/bin/linux/amd64/kubectl 

[[email protected] dan]# chmod +x kubectl 

[[email protected] dan]# mv kubectl /usr/local/bin/kubectl 

[[email protected] dan]# kubectl version 

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:52:01Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 

[[email protected] dan]# kubectl create -f ./job.yaml 
job "pi" created 
0

私は同じエラーを持っていたので、私は下の方法に従っ:私は仕事を作成し、エラーが残っていたよりも

[[email protected] tensorflow]#wget https://storage.googleapis.com/kubernetes-release/release/v1.5.1/bin/linux/amd64/kubectl ./ 
    [[email protected] tensorflow]# cp /usr/bin/kubectl /usr/bin/kubectl.bak 
    [[email protected] tensorflow]# cp kubectl /usr/bin/kubectl 
    [[email protected] tensorflow]# kubectl version 
    Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1",   GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} 
    Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"86dc49aa137175378ac7fba7751c3d3e7f18e5fc", GitTreeState:"clean", BuildDate:"2016-12-15T16:57:18Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}