Skip to content

Instantly share code, notes, and snippets.

@gengwg
Created April 23, 2023 22:33
Show Gist options
  • Save gengwg/c105b35773dab61befdbf32220559385 to your computer and use it in GitHub Desktop.
Save gengwg/c105b35773dab61befdbf32220559385 to your computer and use it in GitHub Desktop.
local volcano setup
~/volcano$ ./hack/local-up-volcano.sh
Checking prerequisites
Found kubectl, version: Client Version: v1.20.0
Preparing...
Checking helm
Found helm, version: version.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af99708171414353ed49547cf05013d", GitTreeState:"clean", GoVersion:"go1.14.9"}
Generating volcano deploy yaml
which: no controller-gen in (/home/gengwg/.krew/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/gengwg/bin:/home/gengwg/nc//bin:/home/gengwg/.local/bin)
mkdir -p _output/bin
mkdir -p _output/release
go: creating new go.mod: module tmp
/home/gengwg/go/bin/controller-gen "crd:crdVersions=v1,generateEmbeddedObjectMeta=true" paths="./vendor/volcano.sh/apis/pkg/apis/scheduling/v1beta1;./vendor/volcano.sh/apis/pkg/apis/batch/v1alpha1;./vendor/volcano.sh/apis/pkg/apis/bus/v1alpha1;./vendor/volcano.sh/apis/pkg/apis/nodeinfo/v1alpha1" output:crd:artifacts:config=config/crd/bases
/home/gengwg/go/bin/controller-gen "crd:crdVersions=v1beta1" paths="./vendor/volcano.sh/apis/pkg/apis/scheduling/v1beta1;./vendor/volcano.sh/apis/pkg/apis/batch/v1alpha1;./vendor/volcano.sh/apis/pkg/apis/bus/v1alpha1;./vendor/volcano.sh/apis/pkg/apis/nodeinfo/v1alpha1" output:crd:artifacts:config=config/crd/v1beta1
Warning: default unsupported in CRD version v1beta1, v1 required. Removing defaults.
Warning: default unsupported in CRD version v1beta1, v1 required. Removing defaults.
Warning: default unsupported in CRD version v1beta1, v1 required. Removing defaults.
./hack/generate-yaml.sh TAG=latest CRD_VERSION=v1
Updating templates in /home/gengwg/volcano/hack/../installer/helm/chart/volcano/templates
Generating volcano yaml file into /home/gengwg/volcano/hack/../_output/release/volcano-0b858e1cc874c640fe65c33ee97fbab440782d83.yaml
walk.go:74: found symbolic link in path: /home/gengwg/volcano/installer/helm/chart/volcano/crd/v1 resolves to /home/gengwg/volcano/installer/helm/chart/volcano/crd/bases
walk.go:74: found symbolic link in path: /home/gengwg/volcano/installer/helm/chart/volcano/crd/v1 resolves to /home/gengwg/volcano/installer/helm/chart/volcano/crd/bases
Building docker images
which: no controller-gen in (/home/gengwg/.krew/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/gengwg/bin:/home/gengwg/nc//bin:/home/gengwg/.local/bin)
for name in controller-manager scheduler webhook-manager; do\
docker buildx build -t "volcanosh/vc-$name:0b858e1cc874c640fe65c33ee97fbab440782d83" . -f ./installer/dockerfile/$name/Dockerfile --output=type="docker" --platform "linux/amd64"; \
done
[+] Building 87.7s (13/13) FINISHED
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 902B 0.0s
=> [internal] load metadata for docker.io/library/alpine:latest 0.0s
=> [internal] load metadata for docker.io/library/golang:1.19.4 0.9s
=> [auth] library/golang:pull token for registry-1.docker.io 0.0s
=> [internal] load build context 0.3s
=> => transferring context: 4.43MB 0.3s
=> [builder 1/4] FROM docker.io/library/golang:1.19.4@sha256:660f138b4477001d65324a51fa158c1b868651b44e43f0953bf062e9f38b72f3 0.0s
=> CACHED [stage-1 1/2] FROM docker.io/library/alpine:latest 0.0s
=> CACHED [builder 2/4] WORKDIR /go/src/volcano.sh/ 0.0s
=> [builder 3/4] ADD . volcano 2.4s
=> [builder 4/4] RUN cd volcano && make vc-controller-manager 83.0s
=> [stage-1 2/2] COPY --from=builder /go/src/volcano.sh/volcano/_output/bin/vc-controller-manager /vc-controller-manager 0.2s
=> exporting to image 0.5s
=> => exporting layers 0.5s
=> => writing image sha256:60e2bce776efd00eb7c3bb46f820cf08999932ab85de3ac71310e234b52bea60 0.0s
=> => naming to docker.io/volcanosh/vc-controller-manager:0b858e1cc874c640fe65c33ee97fbab440782d83 0.0s
[+] Building 103.4s (12/12) FINISHED
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 866B 0.0s
=> [internal] load metadata for docker.io/library/golang:1.19.4 0.3s
=> [internal] load metadata for docker.io/library/alpine:latest 0.0s
=> [internal] load build context 0.3s
=> => transferring context: 572.09kB 0.3s
=> CACHED [stage-1 1/2] FROM docker.io/library/alpine:latest 0.0s
=> [builder 1/4] FROM docker.io/library/golang:1.19.4@sha256:660f138b4477001d65324a51fa158c1b868651b44e43f0953bf062e9f38b72f3 0.0s
=> CACHED [builder 2/4] WORKDIR /go/src/volcano.sh/ 0.0s
=> CACHED [builder 3/4] ADD . volcano 0.0s
=> [builder 4/4] RUN cd volcano && make vc-scheduler 101.6s
=> [stage-1 2/2] COPY --from=builder /go/src/volcano.sh/volcano/_output/bin/vc-scheduler /vc-scheduler 0.3s
=> exporting to image 0.6s
=> => exporting layers 0.5s
=> => writing image sha256:aa3f3828e309a7c909346cfeac0ca146770cb2a610d1f5c693aefc550a736b06 0.0s
=> => naming to docker.io/volcanosh/vc-scheduler:0b858e1cc874c640fe65c33ee97fbab440782d83 0.0s
[+] Building 84.5s (14/14) FINISHED
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.38kB 0.0s
=> [internal] load metadata for docker.io/library/alpine:latest 0.0s
=> [internal] load metadata for docker.io/library/golang:1.19.4 0.5s
=> [internal] load build context 0.4s
=> => transferring context: 572.09kB 0.3s
=> [stage-1 1/4] FROM docker.io/library/alpine:latest 0.0s
=> [builder 1/4] FROM docker.io/library/golang:1.19.4@sha256:660f138b4477001d65324a51fa158c1b868651b44e43f0953bf062e9f38b72f3 0.0s
=> CACHED [builder 2/4] WORKDIR /go/src/volcano.sh/ 0.0s
=> CACHED [builder 3/4] ADD . volcano 0.0s
=> [builder 4/4] RUN cd volcano && make vc-webhook-manager 82.6s
=> CACHED [stage-1 2/4] RUN apk add --update ca-certificates && apk add --update openssl && apk add --update -t deps curl && curl -L https://storage.googleapis.com/kuberne 0.0s
=> [stage-1 3/4] COPY --from=builder /go/src/volcano.sh/volcano/_output/bin/vc-webhook-manager /vc-webhook-manager 0.2s
=> [stage-1 4/4] ADD ./installer/dockerfile/webhook-manager/gen-admission-secret.sh /gen-admission-secret.sh 0.1s
=> exporting to image 0.4s
=> => exporting layers 0.4s
=> => writing image sha256:15181044702c8ba3a0b5cb2154187b0c6a9ea4a46c63e78bc74b0ed89280b3bc 0.0s
=> => naming to docker.io/volcanosh/vc-webhook-manager:0b858e1cc874c640fe65c33ee97fbab440782d83 0.0s
Checking kind
Found kind, version: kind v0.11.1 go1.16.4 linux/amd64
Running kind: [kind create cluster --name volcano ]
Creating cluster "volcano" ...
βœ“ Ensuring node image (kindest/node:v1.21.1) πŸ–Ό
βœ“ Preparing nodes πŸ“¦
βœ“ Writing configuration πŸ“œ
βœ“ Starting control-plane πŸ•ΉοΈ
βœ“ Installing CNI πŸ”Œ
βœ“ Installing StorageClass πŸ’Ύ
Set kubectl context to "kind-volcano"
You can now use your cluster with:
kubectl cluster-info --context kind-volcano
Not sure what to do next? πŸ˜… Check out https://kind.sigs.k8s.io/docs/user/quick-start/
Checking whether the required images exist
Loading docker images into kind cluster
Image: "volcanosh/vc-controller-manager:0b858e1cc874c640fe65c33ee97fbab440782d83" with ID "sha256:60e2bce776efd00eb7c3bb46f820cf08999932ab85de3ac71310e234b52bea60" not yet present on node "volcano-control-plane", loading...
Image: "volcanosh/vc-scheduler:0b858e1cc874c640fe65c33ee97fbab440782d83" with ID "sha256:aa3f3828e309a7c909346cfeac0ca146770cb2a610d1f5c693aefc550a736b06" not yet present on node "volcano-control-plane", loading...
Image: "volcanosh/vc-webhook-manager:0b858e1cc874c640fe65c33ee97fbab440782d83" with ID "sha256:15181044702c8ba3a0b5cb2154187b0c6a9ea4a46c63e78bc74b0ed89280b3bc" not yet present on node "volcano-control-plane", loading...
namespace/volcano-system created
namespace/volcano-monitoring created
serviceaccount/volcano-admission created
configmap/volcano-admission-configmap created
clusterrole.rbac.authorization.k8s.io/volcano-admission created
clusterrolebinding.rbac.authorization.k8s.io/volcano-admission-role created
service/volcano-admission-service created
deployment.apps/volcano-admission created
job.batch/volcano-admission-init created
customresourcedefinition.apiextensions.k8s.io/jobs.batch.volcano.sh created
customresourcedefinition.apiextensions.k8s.io/commands.bus.volcano.sh created
serviceaccount/volcano-controllers created
clusterrole.rbac.authorization.k8s.io/volcano-controllers created
clusterrolebinding.rbac.authorization.k8s.io/volcano-controllers-role created
deployment.apps/volcano-controllers created
serviceaccount/volcano-scheduler created
configmap/volcano-scheduler-configmap created
clusterrole.rbac.authorization.k8s.io/volcano-scheduler created
clusterrolebinding.rbac.authorization.k8s.io/volcano-scheduler-role created
service/volcano-scheduler-service created
deployment.apps/volcano-scheduler created
customresourcedefinition.apiextensions.k8s.io/podgroups.scheduling.volcano.sh created
customresourcedefinition.apiextensions.k8s.io/queues.scheduling.volcano.sh created
customresourcedefinition.apiextensions.k8s.io/numatopologies.nodeinfo.volcano.sh created
mutatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-pods-mutate created
mutatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-queues-mutate created
mutatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-podgroups-mutate created
mutatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-jobs-mutate created
validatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-jobs-validate created
validatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-pods-validate created
validatingwebhookconfiguration.admissionregistration.k8s.io/volcano-admission-service-queues-validate created
$ k get po
NAME READY STATUS RESTARTS AGE
tensorflow-dist-mnist-ps-0 1/1 Running 0 80s
tensorflow-dist-mnist-worker-0 1/1 Running 0 80s
tensorflow-dist-mnist-worker-1 1/1 Running 0 80s
$ k get po
NAME READY STATUS RESTARTS AGE
tensorflow-dist-mnist-ps-0 1/1 Terminating 0 2m18s
tensorflow-dist-mnist-worker-0 0/1 Completed 0 2m18s
tensorflow-dist-mnist-worker-1 0/1 Completed 0 2m18s
$ k get po
NAME READY STATUS RESTARTS AGE
tensorflow-dist-mnist-worker-0 0/1 Completed 0 3m4s
tensorflow-dist-mnist-worker-1 0/1 Completed 0 3m4s
=================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment