Deploy Rok¶
This section will guide you through deploying and configuring Rok. Rok is a data
management layer, which enables directly-attached, local NVMe to become primary,
persistent storage. To configure and deploy Rok declaratively we use Kustomize, a tool that is built natively into kubectl
. We
follow a generate-commit-apply strategy that complies with the GitOps
methodology.
Important
This guide uses GitOps, which is the practice of using git
to track
changes to your infrastructure configuration. The automated deployment
creates commits for each section without needing any further action. For the
manual deployment, you should commit changes to the repo at the end of each
step or whenever you feel best.
Air Gapped
If you are in an air gapped environment, expand this box.
- Follow the Mirror Images to Internal Registry guide to mirror all referenced images to an internal registry that your EKS cluster will have access to.
- Follow the Patch All Images for Your Deployment guide to patch all kustomizations to use the mirrored images from your internal Docker registry.
- Follow the Set Up Cluster-Wide Authenticated Access to a Docker Registry guide to allow for pulling images from your internal registry.
What You’ll Need¶
- A configured management environment.
- Your clone of the Arrikto GitOps repository.
- A kernel that Rok supports.
Procedure¶
- Create Storage Account (Azure only)
- Deploy Istio
- Create Cloud Identity
- Authorize Access to Object Storage
- Grant Rok Access to Private Docker Registry
- Set Up Users for Rok
- Configure Rok Account Management
- Deploy Snapshot Controller
- Create IAM Role for EBS CSI Driver (AWS Only)
- Deploy EBS CSI Driver (AWS Only)
- Deploy Rok Disk Manager
- Deploy Rok Components
- Test Rok
- Set Up Rok Storage Class