Software CR
The Software CR is another component of the Binary Provisioning Agent(BPA). The Software CR will install the required software, drivers and perform software updates on the hosts that make up the kubernetes cluster after the BPA controller has successfully installed kubernetes on the host. The required software and versions would be specified for each type of node (master or worker) in the software CR .
When the Software CR is created and the Kubernetes cluster has successfully been installed, the BPA controller looks up the matching software custom resource (cluster name in the Software CR must match cluster name in the provisioning CR), then installs the software (and/or updates) in the specified host via SSH.
Draft Software CRD
apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: software.bpa.akraino.org spec: group: bpa.akraino.org names: kind: software listKind: softwarerList plural: software singular: software shortNames: - su scope: Namespaced subresources: status: {} validation: openAPIV3Schema: properties: apiVersion: description: type: string kind: description: type: string metadata: type: object spec: type: object status: type: object version: v1alpha1 versions: - name: v1alpha1 served: true storage: true
Sample Software CR YAML files
apiVersion: bpa.akraino.org/v1alpha1 kind: software metadata: name: software-sample labels: cluster: cluster-abc owner: c1 spec: master: softwareFrom: - configMapRef: name: master-configmap worker: softwareFrom: - configMapRef: name: worker-configmap