Installing CSI driver for SPIFFE using the Venafi Control Plane Operator¶
Venafi Control Plane Operator for Red Hat OpenShift is designed to assist customers in installing, maintaining, and upgrading Venafi cluster components.
Follow the steps below to deploy the default version of cert-manager and CSI driver for SPIFFE using the Venafi Control Plane Operator.
Prerequisites¶
To install CSI driver for SPIFFE using the Venafi Control Plane Operator you'll need the following:
- Access to the Venafi OCI registry (or your own mirror).
- You have Venafi Control Plane Operator already installed on your system.
- You have the Red Hat OpenShift CLI tool
oc
installed on your system.
Step 1: Configure access to the Venafi OCI registry¶
Important
Follow the instructions in Configuring access to the Venafi OCI registry to enable access to the artifacts required for this component (cert-manager Components
is the default scope for cert-manager). Use venafi
as the namespace.
For the example below, it's assumed that you created the following Kubernetes Secret:
- namespace:
venafi
- name:
venafi-image-pull-secret
Step 2: Create and apply the manifest¶
-
Create a manifest
venafi-components.yaml
. You can use one of the samples below as a base:venafi-components.yamlapiVersion: installer.venafi.com/v1alpha1 kind: VenafiInstall metadata: name: venafi-components spec: globals: enableDefaultApprover: false imagePullSecretNames: [venafi-image-pull-secret] namespace: venafi useFIPSImages: false vcpRegion: US region: US certManager: install: true certManagerCSIDriverSPIFFE: install: true trustDomain: my.trust.domain values: tolerations: - key: node-role.kubernetes.io/infra operator: Exists effect: NoSchedule - key: node-role.kubernetes.io/private operator: Exists effect: NoSchedule version: v0.8.1
venafi-components.yamlapiVersion: installer.venafi.com/v1alpha1 kind: VenafiInstall metadata: name: venafi-components spec: globals: enableDefaultApprover: false imagePullSecretNames: [venafi-image-pull-secret] namespace: venafi useFIPSImages: false vcpRegion: EU region: EU certManager: install: true certManagerCSIDriverSPIFFE: install: true trustDomain: my.trust.domain values: tolerations: - key: node-role.kubernetes.io/infra operator: Exists effect: NoSchedule - key: node-role.kubernetes.io/private operator: Exists effect: NoSchedule version: v0.8.1
venafi-components.yamlapiVersion: installer.venafi.com/v1alpha1 kind: VenafiInstall metadata: name: venafi-components spec: globals: customChartRepository: oci://myregistry.example.com/charts customImageRegistry: myregistry.example.com enableDefaultApprover: false imagePullSecretNames: [venafi-image-pull-secret] namespace: venafi useFIPSImages: false certManager: install: true certManagerCSIDriverSPIFFE: install: true trustDomain: my.trust.domain values: tolerations: - key: node-role.kubernetes.io/infra operator: Exists effect: NoSchedule - key: node-role.kubernetes.io/private operator: Exists effect: NoSchedule version: v0.8.1
Notes
Set the
spec.certManager.skip
parameter totrue
and thespec.certManager.install
parameter tofalse
if you have already installed and configured cert-manager.Use the
trustDomain
field to specify the CSI driver for SPIFFE trust domain. This is a required field when installing the CSI driver for SPIFFE.Tip
For a complete list of Venafi Control Plane Operator configuration parameters, refer to the Venafi Control Plane Operator API reference.
-
Apply the manifest by running the following command:
oc apply -f venafi-components.yaml
Step 3: Verify the installation¶
-
Verify whether CSI driver for SPIFFE is successfully installed by running the following command:
oc get venafiinstall,pods
Sample output:
NAME STATUS LAST SYNC venafiinstall.installer.venafi.com/venafi-components Synced 22s NAME READY STATUS RESTARTS AGE pod/cert-manager-7b67bb8b56-fsx4s 1/1 Running 0 2m15s pod/cert-manager-cainjector-6f55988c8f-7gssp 1/1 Running 0 2m15s pod/cert-manager-csi-driver-spiffe-approver-6594c7bf4f-8pj8w 1/1 Running 0 42s pod/cert-manager-csi-driver-spiffe-driver-tw249 3/3 Running 0 42s pod/cert-manager-webhook-75ddc44d97-p9vfg 1/1 Running 0 2m15s pod/vcp-operator-6f76c5fb67-z2cm2 1/1 Running 0 5d8h