Installing Istio CSR using the Venafi Control Plane Operator¶
Follow the steps below to deploy the default version of cert-manager and Istio CSR using the Venafi Control Plane Operator.
Prerequisites¶
To install Istio CSR using the Venafi Control Plane Operator, you'll need the following:
- Access to the Venafi OCI registry (or your own mirror).
- The Venafi Control Plane Operator already installed on your system.
- 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: Install Istio¶
- If you have not done so already, download the
istioctl
command-line tool. -
Copy and save the following sample manifest as
istio-install-config.yaml
. This manifest creates anistio-system
namespace and configures the install.You may wish to inspect and tweak
istio-install-config.yaml
if you know what you're doing, but this manifest should work for example purposes as-is.:istio-install-config.yamlapiVersion: install.istio.io/v1alpha1 kind: IstioOperator metadata: namespace: istio-system spec: profile: "sample" hub: gcr.io/istio-release meshConfig: # Change the following line to configure the trust domain of the Istio cluster. trustDomain: cluster.local values: global: # Change certificate provider to cert-manager istio agent for istio agent caAddress: cert-manager-istio-csr.cert-manager.svc:443 components: pilot: k8s: env: # Disable istiod CA Sever functionality - name: ENABLE_CA_SERVER value: "false"
-
Use the
istioctl install
command to install Istio and apply the manifest:istioctl install --set profile=openshift -f istio-install-config.yaml
Step 3: Create and apply the Istio CSR 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 certManagerIstioCSR: install: true trustDomain: example.com # (1)! runtimeConfigMapName: configmap-in-install-namespace # (2)! version: v0.12.0
- Provide the name of the trust domain here. This is a required field when installing Istio CSR.
- Add the name of the ConfigMap in the namespace where you installed the Operator.
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 certManagerIstioCSR: install: true trustDomain: example.com # (1)! runtimeConfigMapName: configmap-in-install-namespace # (2)! version: v0.12.0
- Provide the name of the trust domain here. This is a required field when installing Istio CSR.
- Add the name of the ConfigMap in the namespace where you installed the Operator.
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 certManagerIstioCSR: install: true trustDomain: example.com # (1)! runtimeConfigMapName: configmap-in-install-namespace # (2)! version: v0.12.0
- Provide the name of the trust domain here. This is a required field when installing Istio CSR.
- Add the name of the ConfigMap in the namespace where you installed the Operator.
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 Istio CSR trust domain. This is a required field when installing Istio CSR.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 4: Verify the installation¶
-
Verify whether Istio CSR 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 2m14s NAME READY STATUS RESTARTS AGE pod/cert-manager-586bf54fc-j72bq 1/1 Running 0 5m37s pod/cert-manager-cainjector-555597db44-vdvrs 1/1 Running 0 5m37s pod/cert-manager-istio-csr-76dddc799c-qnjw9 1/1 Running 0 2m36s pod/cert-manager-webhook-6c86fd9696-5wdkp 1/1 Running 0 5m37s pod/vcp-operator-86c7d996d6-85km5 1/1 Running 0 8m40s