Illumina Innovates with Rancher and Kubernetes
This section provides information on building k3s from source.
See the release page for pre-built releases.
The clone will be much faster on this repo if you do
git clone --depth 1 https://github.com/rancher/k3s.git
This repo includes all of Kubernetes history so --depth 1 will avoid most of that.
--depth 1
To build the full release binary run make and that will create ./dist/artifacts/k3s.
make
./dist/artifacts/k3s
Optionally to build the binaries without running linting or building docker images:
./scripts/download && ./scripts/build && ./scripts/package-cli
For development, you just need go 1.12 and a sane GOPATH. To compile the binaries run:
go build -o k3s go build -o kubectl ./cmd/kubectl go build -o hyperkube ./vendor/k8s.io/kubernetes/cmd/hyperkube
This will create the main executable, but it does not include the dependencies like containerd, CNI, etc. To run a server and agent with all the dependencies for development run the following helper scripts:
# Server ./scripts/dev-server.sh # Agent ./scripts/dev-agent.sh
The source code for Kubernetes is in vendor/ and the location from which that is copied is in ./vendor.conf. Go to the referenced repo/tag and you’ll find all the patches applied to upstream Kubernetes.
vendor/
./vendor.conf