Planning Your Kubernetes Cluster for Hybrid Manager Installation#
When preparing to deploy Hybrid Manager (HM), make certain to first consider the following preliminary aspects of the design:
1. Use Case#
What workloads need to be managed?
Are you deploying in production, testing, or a hybrid environment?
2. Base Infrastructure#
Is the cluster to be hosted by a Cloud Service Provider (CSP) or on-premises? - For on-premises, consider bare-metal, VM, or private cloud options.
3. Networking#
Availability zones and subnets (public/private)
NAT Gateway/Egress
Network security rules
Resource tagging and latency considerations
Network security
Cluster network policies - Implement Kubernetes network policies to control traffic flow between pods, namespaces, and external resources.
Encrypted communication - Use TLS for all communication between HM components and external clients. - Ensure in-cluster service communication is encrypted
Firewalls and security groups - For on-premises deployments, configure firewalls to restrict access to Kubernetes API servers and control-plane nodes. - For cloud-based deployments, utilize security groups to restrict inbound and outbound traffic to the cluster
4. Kubernetes Cluster Settings#
Kubernetes version.
Identity management (e.g., LDAP, SAML, OpenID Connect).
Resource tags, secrets/config maps.
Taints and tolerations for node groups.
5. Node Group Configuration#
Instance types and compute groupings.
6. Permission Policies#
PGAIHM needs permissions to the whole Kubernetes cluster
Node role permissions and RBAC settings.
Quotas and limit ranges.
Network policies.
7. Storage Integration#
CSI drivers and object storage (e.g., S3-compatible).
Volume types, persistent volume claims, and snapshot support.
8. Load Balancer/Ingress Integration#
Cloud provider or on-premises specifics.
Permissions for load balancer integration.
9. Data security#
- Encryption at rest
- Ensure persistent volumes used by HM have encryption enabled
- Use a storage backend that supports encryption (e.g. AWS S3 for backups in EKS, NVMe with encryption for local storage on-premises)
- Encryption in transit
- Enable encryption for all data transfer between HM components and the database clusters they manage.
- Secrets management
- Store all sensitive information (e.g. database passwords, API keys) in Kubernetes Secrets.
- Use a secure external secrets manager (e.g. HashiCorp Vault, AWS Secrets Manager) when possible.
10. Platform-Specific Custom Configurations#
Differences between Red Hat OpenShift, AWS EKS, and other distributions.
By addressing these considerations, you can ensure your Kubernetes cluster is properly configured to support HM in any deployment scenario.