In cluster build
Skaffold supports building in cluster via Kaniko or Custom Build Script.
Configuration
To configure in-cluster Build, add build type cluster
to the build section of skaffold.yaml
.
build:
cluster: {}
The following options can optionally be configured:
Option | Description | Default |
---|---|---|
HTTP_PROXY |
for kaniko pod. |
|
HTTPS_PROXY |
for kaniko pod. |
|
pullSecretPath |
path to the Google Cloud service account secret key file. |
|
pullSecretName |
name of the Kubernetes secret for pulling base images and pushing the final image. If given, the secret needs to contain the Google Cloud service account secret key under the key kaniko-secret . |
kaniko-secret |
pullSecretMountPath |
path the pull secret will be mounted at within the running container. |
|
namespace |
Kubernetes namespace. Defaults to current namespace in Kubernetes configuration. |
|
timeout |
amount of time (in seconds) that this build is allowed to run. Defaults to 20 minutes (20m ). |
|
dockerConfig |
describes how to mount the local Docker configuration into a pod. |
|
serviceAccount |
describes the Kubernetes service account to use for the pod. Defaults to ‘default’. |
|
tolerations |
describes the Kubernetes tolerations for the pod. | [] |
nodeSelector |
describes the Kubernetes node selector for the pod. | {} |
annotations |
describes the Kubernetes annotations for the pod. | {} |
labels |
describes the Kubernetes labels for the pod. | {} |
runAsUser |
defines the UID to request for running the container. If omitted, no SecurityContext will be specified for the pod and will therefore be inherited from the service account. |
|
resources |
define the resource requirements for the kaniko pod. |
|
concurrency |
how many artifacts can be built concurrently. 0 means “no-limit”. | 0 |
volumes |
defines container mounts for ConfigMap and Secret resources. | [] |
randomPullSecret |
adds a random UUID postfix to the default name of the pull secret to facilitate parallel builds, e.g. kaniko-secretdocker-cfgfd154022-c761-416f-8eb3-cf8258450b85. | false |
randomDockerConfigSecret |
adds a random UUID postfix to the default name of the docker secret to facilitate parallel builds, e.g. docker-cfgfd154022-c761-416f-8eb3-cf8258450b85. | false |
Faster builds
Skaffold can build multiple artifacts in parallel, by settings a value higher than 1
to concurrency
.
For in-cluster builds, the default is to build all the artifacts in parallel. If your cluster is too
small, you might want to reduce the concurrency
. Setting concurrency
to 1
will cause artifacts to be built sequentially.
Note
When artifacts are built in parallel, the build logs are still printed in sequence to make them easier to read.
Last modified November 19, 2024: chore: upgrade buildpacks (and transitive dependencies) (#9572) (da51500)