Citrix Virtual Apps and Desktops

Create a Red Hat OpenShift catalog (Preview)

Create machine catalogs describes the wizards that create a machine catalog. The following information covers details specific to Red Hat OpenShift virtualization environments.

Note:

Before creating a Red Hat OpenShift catalog, finish creating a connection and hosting unit to Red Hat OpenShift. See Connection to Red Hat OpenShift.

Create a master image VM

A master image VM is required to create a machine catalog.

  1. Access the OpenShift Console using your login ID.
  2. Navigate to Virtualization > VirtualMachines to see the list of VMs, including master image VMs.
  3. Create a master image. When creating a master image, make sure that the master image VM has only one storage device.

Note:

  • Remove the default Network Attachment Definition (NAD) with Masquerade type and pod networking, which is automatically attached when creating the master image VM. Additionally, ensure that a routable NAD is added to the master image VM according to the customer’s requirements for the cluster environment.
  • When the master image is joined to a domain, it might lose domain trust after being used for catalog creation. This issue affects Citrix Virtual Apps and Desktops 2503 due to a limitation in the OpenShift environment. The workaround is not to join domain in master images. Citrix is working with Red Hat to enhance network isolation capabilities.
  • When creating an MCS machine catalog in a Red Hat OpenShift virtualization environment, you can’t use a master image and a machine profile that have different operating system types. This is due to how Red Hat OpenShift manages each OS type. Therefore, using a Windows VM as the master image with a non-Windows (example, Linux) VM as the machine profile, or the other way around, is not supported.

Create a catalog

You can create OpenShift catalogs to create, deliver, and power manage machines in your OpenShift environments.

Create a catalog using Web Studio

Currently, you can use Studio to create Openshift catalogs to deliver and manage the power of existing machines in your OpenShift environments

In the Machine Catalog Setup wizard:

  1. On the Operating System page, select Multi-session OS or Single-session OS.
  2. On the Machine Management page, select Machines that are power managed and Another service or technology.
  3. On the Virtual Machines page, add machines and their Active Directory machine accounts. You can:

    • Add machines manually: Click Add Machines to add machines manually. The Select VMs window appears. Expand the OpenShift connection you created earlier and select the nodes (VMs) you want to add. Then add the associated machine account names.
    • Add machines using a CSV file: Click Add CSV File to bulk add machines. For information about using CSV files to add machines, see Use CSV files to bulk add machines to a catalog.
  4. Follow the on-screen instructions to complete the remaining steps, which don’t include OpenShift-specific information.

Create a catalog using PowerShell commands

Currently, you can create an MCS machine catalog in the Red Hat OpenShift environment using only PowerShell commands. You can create the machine catalog with or without using a machine profile. A VM is used as a machine profile input.

  1. Open a PowerShell window.
  2. Run asnp citrix*.
  3. Run PowerShell commands to
    1. Create an identity pool
    2. Create AD accounts
    3. Create an MCS machine catalog with persistent VMs with or without a machine profile.
    4. Add VMs to the catalog
    5. Create a broker catalog
    6. Add broker machines to the new VMs

Following is a sample script:

Create an identity pool

New-AcctIdentityPool `
    -IdentityPoolName "IdentityPoolName" `
    -ZoneUid "00000000-0000-0000-0000-000000000000" `
    -NamingScheme "vm###" `
    -NamingSchemeType "Numeric" `
    -AllowUnicode `
    -Domain "MyDomain.local" `
    -AdminAddress "MyDDC.MyDomain.Local"
<!--NeedCopy-->

Create AD accounts

New-AcctADAccount `
    -IdentityPoolUid "11111111-1111-1111-1111-111111111111" `
    -ADUserName "MyDomain\MyUserName" `
    -ADPassword SecurePassword `
    -Count 1 `
    -AdminAddress "MyDDC.MyDomain.Local"
<!--NeedCopy-->

Create a provisioning scheme with persistent machines (without machine profile)

New-ProvScheme `
    -ProvisioningSchemeName "ProvisioningSchemeName" `
    -HostingUnitName "HostingUnitName" `
    -IdentityPoolName "IdentityPoolName" `
    -ProvisioningSchemeType "MCS" `
    -MasterImageVM "XDHyp:\HostingUnits\HostingUnitName\TargetNamespace.namespace\MasterImageVM.vm" `
    -NetworkMapping @{"0" = "XDHyp:\HostingUnits\HostingUnitName\TargetNamespace.namespace\MyNetwork.network" } `
    -VMCpuCount 1 `
    -VMMemoryMB 4096 `
    -InitialBatchSizeHint 1 `
    -AdminAddress "MyDDC.MyDomain.Local"
<!--NeedCopy-->

Create a provisioning scheme with persistent machines (with machine profile)

New-ProvScheme `
    -ProvisioningSchemeName "ProvisioningSchemeName" `
    -HostingUnitName "HostingUnitName" `
    -IdentityPoolName "IdentityPoolName" `
    -ProvisioningSchemeType "MCS" `
    -MasterImageVM "XDHyp:\HostingUnits\HostingUnitName\TargetNamespace.namespace\MasterImageVM.vm" `
    -NetworkMapping @{"0" = "XDHyp:\HostingUnits\HostingUnitName\TargetNamespace.namespace\MyNetwork.network" } `
    -VMCpuCount 1 `
    -VMMemoryMB 4096 `
    -InitialBatchSizeHint 1 `
    -AdminAddress "MyDDC.MyDomain.Local" `
    -MachineProfile "XDHyp:\HostingUnits\HostingUnitName\TargetNamespace.namespace\MachineProfileVM.vm"
<!--NeedCopy-->

Create new ProvVMs

New-ProvVM `
    ProvisioningSchemeName "ProvisioningSchemeName" `
    ADAccountName "MyDomain\vm001" `
    AdminAddress "MyDDC.MyDomain.Local"

Lock-ProvVM `
    -ProvisioningSchemeName "ProvisioningSchemeName" `
    -Tag "Brokered" `
    -VMID "TargetNamespace:vm001"
<!--NeedCopy-->

Create new broker catalog

New-BrokerCatalog `
    -Name "ProvisioningSchemeName" `
    -ProvisioningType "MCS" `
    -SessionSupport "MultiSession" `
    -AllocationType "Random" `
    -PersistUserChanges "OnLocal" `
    -ZoneUid "00000000-0000-0000-0000-000000000000" `
    -AdminAddress "MyDDC.MyDomain.Local"
<!--NeedCopy-->

Set broker catalog metadata

Set-BrokerCatalogMetadata `
    -CatalogId "1" `
    -Name "Citrix_DesktopStudio_IdentityPoolUid" `
    -Value "11111111-1111-1111-1111-111111111111"

Set-BrokerCatalog `
    -Name "ProvisioningSchemeName " `
    -ProvisioningSchemeId "22222222-2222-2222-2222-222222222222"
<!--NeedCopy-->

Create broker machines for the new ProvVMs

New-BrokerMachine `
    -CatalogUid "33333333-3333-3333-3333-333333333333" `
    -AdminAddress "MyDDC.MyDomain.Local" `
    -MachineName "S-0-0-00-0000000000-0000000000-000000000-000000"
<!--NeedCopy-->

Where to go next

More information

Create a Red Hat OpenShift catalog (Preview)