This project uses Pulumi to deploy a Kubernetes infrastructure with the following components:
- NGINX web server
- Cert Manager for SSL/TLS certificate management
- Rancher for Kubernetes cluster management
- Python 3.x
- Pulumi CLI
- Kubernetes cluster access configured
pip
oruv
package manager
.
├── quickstart/
│ ├── components/
│ │ ├── cert_manager.py
│ │ ├── nginx.py
│ │ └── rancher.py
│ ├── __main__.py
│ ├── deploy.sh
│ └── pyproject.toml
- Install Python dependencies:
# Using pip
pip install -r requirements.txt
# Or using uv
uv pip install -r requirements.txt
- Configure Pulumi:
export PULUMI_BACKEND_URL=file://$(pwd)/state
export PULUMI_CONFIG_PASSPHRASE="123456"
pulumi login $PULUMI_BACKEND_URL
Run the deployment script:
cd quickstart
./deploy.sh
This will:
- Deploy NGINX with health checks and resource limits
- Install cert-manager with CRDs for certificate management
- Deploy Rancher with NodePort access
Key configurations:
-
NGINX:
- Image: nginx:latest
- Resources: 100m-200m CPU, 128Mi-256Mi Memory
- Health checks on port 80
-
Cert Manager:
- Version: v1.14.4
- Custom resource definitions enabled
-
Rancher:
- Version: 2.11.2
- NodePort: 31000
- Hostname: rancher.local
- Default admin password: admin123
MIT License - See LICENSE for details