NOTES: The tsyncd default values are in charts/sts-silicom-0.0.1/values.yaml
https://helm.sh/docs/intro/quickstart/
helm repo add sts-charts https://silicom-ltd.github.io/STS_HelmCharts/
helm search repo sts-charts
NAME CHART VERSION APP VERSION DESCRIPTION
sts-charts/sts-silicom 0.0.1 1.0.0 Silicom STS PTP tsync deployment
helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "sts-charts" chart repository
helm search repo sts-charts
NAME CHART VERSION APP VERSION DESCRIPTION
sts-charts/sts-silicom 0.0.1 1.0.0 Silicom STS PTP tsync deployment
Please refer to https://helm.sh/docs/chart_template_guide/values_files/ on how to override the default values of the chart(s).
NOTE: Possible tsync values to override https://github.com/silicom-ltd/STS_HelmCharts/blob/main/charts/sts-silicom-0.0.1/values.yaml
Create a local file, gm.yaml with the following contents, changing the values to the actual physical deployment.
NodeSelectors:
kubenetes.io/hostname: "master"
Spec:
profileID: 2
ports:
- ethName: enp101s0f0
ql: 4
ethPort: 1
- ethName: enp101s0f1
ql: 4
ethPort: 2
masterPortMask_GM: 0xfff
masterPortMask_BC: 0xfff
slavePortMask_BC: 0xfff
slavePortMask_TSC: 0xfff
ipv6PortMask: 0xfff
domainNum_8275_1: 24
domainNum_8275_2: 44
domainNum_8265_2: 4
Now deploy the chart with the above values.
helm install -f gm.yaml --debug sts-gm --namespace sts-silicom charts/sts-silicom-0.0.1
Create a local file, bc.yaml with the following contents, changing the values to the actual physical deployment.
NodeSelectors:
kubenetes.io/hostname: "master"
Spec:
profileID: 3
ports:
- ethName: enp101s0f0
ql: 4
ethPort: 1
- ethName: enp101s0f1
ql: 4
ethPort: 2
masterPortMask_GM: 0xfff
masterPortMask_BC: 0x1
slavePortMask_BC: 0x2
slavePortMask_TSC: 0xfff
ipv6PortMask: 0xfff
domainNum_8275_1: 24
domainNum_8275_2: 44
domainNum_8265_2: 4
Now deploy the chart with the above values.
helm install -f bc.yaml --debug sts-bc --namespace sts-silicom charts/sts-silicom-0.0.1
Create a local file, slave.yaml with the following contents, changing the values to the actual physical deployment.
NodeSelectors:
kubenetes.io/hostname: "master"
Spec:
profileID: 4
ports:
- ethName: enp101s0f0
ql: 4
ethPort: 1
- ethName: enp101s0f1
ql: 4
ethPort: 2
masterPortMask_GM: 0xfff
masterPortMask_BC: 0x1
slavePortMask_BC: 0x2
slavePortMask_TSC: 0xfff
ipv6PortMask: 0xfff
domainNum_8275_1: 24
domainNum_8275_2: 44
domainNum_8265_2: 4
Now deploy the chart with the above values.
helm install -f slave.yaml --debug sts-slave --namespace sts-silicom charts/sts-silicom-0.0.1
Default values that can be overwritten using helm install --set
or a file with the same format helm install -f args.yaml
This label selector needs to be added to the values to describe where the daemonset should be scheduled (these are examples and are not hard-coded)
NodeSelectors:
sts.silicom.com/enabled: "worker1"
or
NodeSelectors:
kubernetes.io/hostname: "worker1"
To create a new version, override Makefile PACKAGE_VERSION to the appropriate version. This will edit the Chart.yaml file.
git checkout main
PACKAGE_VERSION=$version make chart
git checkout gh-pages
mv output/* .
helm repo index .
git add index.yaml sts-silicom-$version.tgz
git commit -am "Release x.x.x"
git push
git checkout main
helm pull sts-charts/sts-silicom
helm show values sts-charts/sts-silicom