githubで公開されているサンプルのコントローラを動かしてみます。
sample-controllerの手順通りです。
sample-controllerのコンパイルと実行
下記のように実行します。
実行するとapi-version(v1alpha1
)が見つからないとエラーが出ますが、気にせず進みます。
$ export GOPATH=$(pwd) $ go get k8s.io/sample-controller $ cd $GOPATH/src/k8s.io/sample-controller $ go build -o sample-controller . $ ./sample-controller --kubeconfig=$KUBECONFIG E0615 21:03:49.428247 8457 reflector.go:125] k8s.io/sample-controller/pkg/generated/informers/externalversions/factory.go:117: Failed to list *v1alpha1.Foo: the server could not find the requested resource (get foos.samplecontroller.k8s.io) E0615 21:03:50.430718 8457 reflector.go:125] k8s.io/sample-controller/pkg/generated/informers/externalversions/factory.go:117: Failed to list *v1alpha1.Foo: the server could not find the requested resource (get foos.samplecontroller.k8s.io) ...
CRDをデプロイして、そのリソースを作成します。
$ kubectl apply -f artifacts/examples/crd.yaml customresourcedefinition.apiextensions.k8s.io/foos.samplecontroller.k8s.io created $ kubectl apply -f artifacts/examples/example-foo.yaml foo.samplecontroller.k8s.io/example-foo created $
先程のエラーメッセージは、でなくなります。
下記の通り、デプロイしたリソースからdeploymentが作られます。
$ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE example-foo 1/1 1 1 11s $
sample-controllerは、どこで動かしたらいいのかな?