Veritas InfoScale™ for Kubernetes Environments 8.0.200 - Linux
- Overview
- System requirements
- Preparing to install InfoScale on Containers
- Installing Veritas InfoScale on OpenShift
- Installing InfoScale on a system with Internet connectivity
- Installing InfoScale in an air gapped system
- Installing Veritas InfoScale on Kubernetes
- Prerequisites
- Tagging the InfoScale images on Kubernetes
- Installing InfoScale on Kubernetes
- Configuring KMS-based Encryption on an OpenShift cluster
- Configuring KMS-based Encryption on a Kubernetes cluster
- InfoScale CSI deployment in Container environment
- Dynamic provisioning
- Snapshot provisioning (Creating volume snapshots)
- Managing InfoScale volume snapshots with Velero
- Volume cloning
- Installing and configuring InfoScale DR Manager on OpenShift
- Installing and configuring InfoScale DR Manager on Kubernetes
- Disaster Recovery scenarios
- Configuring InfoScale
- Administering InfoScale on Containers
- Upgrading InfoScale
- Troubleshooting
Additional requirements for replication on Cloud
If any of your sites is on the Cloud, you must provide High Availability (HA) to the Virtual IP addresses and configure load balancer service. Ensure that you have specified the cloud service for cloudVendor
or remoteCloudVendor
while configuring data replication.
In Azure and AWS environments, to provide High Availability (HA) to the Virtual IP addresses; Cluster server networking agents are used. Veritas Volume Replicator (VVR) uses the Virtual IP addresses for data replication. For this configuration with AWS Virtual IP addresses (AWSIP), roles must be attached to the worker nodes. See Network Agents section in Cluster Server Bundled Agents Reference Guide for AzureIP and AWSIP agent details and for the Identity Access Management (IAM) role creation for AWSIP agent. For AzureIP agent, Azure Authentication credentials are accepted as a Kubernetes secret . Secret key
of AzureAuth is stored in an encrypted format by using vcsencrypt
.
Load balancer can be used for both managed and non-managed clouds. lbEnabled and remoteLbEnabled are set in the datareplication yaml. Default value is false (set to true only in case where network traffic goes over load balancer). For example, if the primary site is on premises and secondary site is on AKS (with a load balancer on front end), lbEnabled must be set to false
and remoteLbEnabled must be set to true
. In this configuration, load balancer Virtual IP address must be provided as HostAddress
(local and/or remote) in the datareplication yaml. The prerequisite for this feature is that the load balancer network Kubernetes service must have the following selector in its spec- cvmaster:true
. The sample files below are examples of Azure authentication secret and load balancer service.
Note:
The TCP/UDP ports that Veritas Volume Replicator (VVR) uses must be open on all worker nodes of the cluster to enable communication between primary and secondary site. See Choosing the network ports used by VVR on the Veritas support portal.
- Update and copy the following content into a yaml file and save as
/YAML/DR/AzureAuth.yaml
.apiVersion: v1 kind: Secret type: Opaque metadata: # do not change "name" value. name: infoscale-azure-auth namespace: infoscale-vtas data: # base64-coded valid Identifier that uniquely # identifies your Azure subscription. subscriptionId: "aW5mb3NjYWxl" # base64-coded valid Identifier of the # Azure Active Directory (AAD) Application. clientId: "aW5mb3NjYWxlY2xpZW50" # base64-coded valid Authentication # key generated for the AAD application. secretKey: "aW5mb3NjYWxlc2VjcmV0" # base64-coded valid Identifier of the # AAD directory in which you created the application. tenantId: "aW5mb3NjYWxldGVuYW50SWQ="
- Run the following command on the bastion node.
oc apply -f /YAML/DR/AzureAuth.yaml
- Update and copy the following content into a yaml file and save as
/YAML/DR/loadbalancer.yaml.
. Set protocol to TCP or UDP. Veritas Volume Replicator (VVR) requires both ports - TCP and UDP. Hence, a Load balancer service with mixed protocol support (TCP and UDP) is needed.apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-load-balancer-internal:"true" service.beta.kubernetes.io/azure-load-balancer-internal-subnet:"worker" name: vvr-lb-svc namespace: infoscale-vtas spec: loadBalancerIP: 172.20.2.9 allocateLoadBalancerNodePorts: true externalTrafficPolicy: Cluster internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: tcpportone port: 4145 protocol: <TCP or UDP> targetPort: 4145 - name: tcpporttwo port: 8199 protocol: <TCP or UDP> targetPort: 8199 - name: tcpportthree port: 8989 protocol: <TCP or UDP> targetPort: 8989 selector: cvmaster: "true" sessionAffinity: None type: LoadBalancer
- Run the following command on the bastion node.
oc apply -f /YAML/DR/loadbalancer.yaml