Kustomize
This section reviews a tool called Kustomize that allows easy modifications to configurations, this section can be skipped.
Kustomize is a program that will be utilized to modify kubeflow’s installation and can be used to configure certain parameters surrounding Authentication and Authorization. Kustomize utilizes a manifest
file that is provided by kubeflow. This manifest file contains all the necessary configuration files to deploy this service across multiple platforms. The manifest folder utilized for this installation can be found here, download the entire release.
Kustomize may be required for advanced customization of an installation, however its suggested to utilize kustomize version 3.2.3. The following installation process has been tested on a local DGX cluster
Run the following command, copy and paste the entire block:
$
curl --silent --location --remote-name \
"https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.2.3/kustomize_kustomize.v3.2.3_linux_amd64" && \
chmod a+x kustomize_kustomize.v3.2.3_linux_amd64 && \
sudo mv kustomize_kustomize.v3.2.3_linux_amd64 /usr/local/bin/kustomize
Check installation through a version check, run the command: $ kustomize version
, See a sample output below:
Version: {Version:kustomize/v3.2.3 GitCommit:f8412aa3d39f32151525aff97a351288f5a7470b BuildDate:2019-10-08T23:30:25Z GoOs:linux GoArch:amd64}
KFDEF
This section reviews stack template files called KfDef configurations, this relates to kustomize and can be skipped.
The local Kubeflow Manifest
folder contains KFDEF
files located inside \manifests-1.2.0\kfdef
These KFDEF files are the bases of how Kubeflow will deploy services into different applications.
Application kustomization
Kustomize works by assigning a base configuration for each application that is deployed. This base
configuration is referenced when making new configuration changes. For example below, A KFdef file will list dex
as one of the programs to be installed. Dex is a OpenID Connect program for authentication. This installation script will refer to specific locations within the manifest
that hold yaml configuration templates to deploy the services in a kubernetes environment. These Yaml configuration files will refer to a parameters
file for configuration. Users can modify the params
file to change configuration settings and utilize kustomize and kubectl commands to patch changes directly into a working system.