> For the complete documentation index, see [llms.txt](https://docs.prismacloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.prismacloud.io/admin-guide/install/deploy-console/console-on-acs.md).

# Deploy the Prisma Cloud Console on ACS

Use the following procedure to install Prisma Cloud in an ACS Kubernetes cluster.

[Microsoft will retire ACS](https://azure.microsoft.com/en-us/updates/azure-container-service-will-retire-on-january-31-2020/) as a standalone service on January 31, 2020.

**Prerequisites**

* You have deployed an [Azure Container Service with Kubernetes](https://docs.microsoft.com/en-us/azure/container-service/kubernetes/) cluster.
* You have installed [Azure CLI 2.0.22](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) or later on a Linux system.
* You have [downloaded the Prisma Cloud software](#download-twistlock).

1. Create a persistent volume for your Kubernetes cluster. ACS uses Azure classic disks for the persistent volume. Within the same Resource Group as the ACS instance, create a classic storage group.
2. On a Windows based system use Disk Manager to create an unformatted, 100GB Virtual Hard Disk (VHD).
3. Use [Azure Storage Explorer](https://azure.microsoft.com/en-us/features/storage-explorer/) to upload the VHD to the classic storage group.
4. Make sure the disk is 'released' from a 'lease'.
5. On your Linux host with Azure CLI installed, attach to your ACS Kubernetes Master.

   ```
   $ az acs kubernetes get-credentials --resource-group pfoxacs --name pfox-acs
   Merged "pfoxacsmgmt" as current context in /Users/paulfox/.kube/config

   $ kubectl config use-context pfoxacsmgmt
   ```
6. Confirm connectivity to the ACS Kubernetes cluster.

   ```bash
   $ kubectl get nodes
   NAME                    STATUS    ROLES     AGE       VERSION
   k8s-agent-e32fd1a6-0    Ready     agent     4m        v1.7.7
   k8s-agent-e32fd1a6-1    Ready     agent     5m        v1.7.7
   k8s-master-e32fd1a6-0   Ready     master    4m        v1.7.7
   ```
7. Create a file named *persistent-volume.yaml*, and open it for editing.

   ```yaml
   apiVersion: v1
   kind: PersistentVolume
   metadata:
     name: twistlock-console
     labels:
       app: twistlock-console
     annotations:
       volume.beta.kubernetes.io/storage-class: default
   spec:
     capacity:
       storage: 100Gi
     accessModes:
       - ReadWriteOnce
     azureDisk:
       diskName: pfox-classic-tl-console.vhd
       diskURI: https://pfoxacs.blob.core.windows.net/twistlock-console/pfox-classic-tl-console.vhd
       cachingMode: ReadWrite
       fsType: ext4
       readOnly: false
   ```

   | `diskName` | Name of the persistent disk created in the previous steps.         |
   | ---------- | ------------------------------------------------------------------ |
   | `labels`   | Label for the persistent volume.                                   |
   | `diskURI`  | Azure subscription path to the disk created in the previous steps. |
8. Create the persistent volume:

   ```bash
     $ kubectl create -f ./persistent-volume.yaml
   ```
9. Generate the Console YAML configuration file:

   ```bash
     $ /linux/twistcli console export kubernetes \
       --persistent-volume-labels app:twistlock-console \
       --storage-class default
   ```

   | `--persistent-volume-labels` | *app:twistlock-console* label defined in the persistent-volume.yaml. |
   | ---------------------------- | -------------------------------------------------------------------- |
   | `--storage-class`            | *default* must match the storage class of the Azure Disk.            |
10. Deploy the Prisma Cloud Console in your cluster.

    ```bash
      $ kubectl create -f ./twistlock-console.yaml
    ```
11. Wait for the service to come up completely.

    ```bash
      $ kubectl get service -w -n twistlock
    ```
12. Configure the console as described in [Configure the Prisma Cloud Console](/admin-guide/install/deploy-console/console-on-kubernetes.md#configure-console-k8s).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.prismacloud.io/admin-guide/install/deploy-console/console-on-acs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
