docs: pulumi

This commit is contained in:
Ryan Yin
2024-02-18 22:20:10 +08:00
parent f6b34b042f
commit 0a9dee2aee
3 changed files with 28 additions and 0 deletions

View File

@@ -23,5 +23,9 @@ I prefer to use [k3s] as the Kubernetes distribution, because it's lightweight,
3. `k3s-test-1-worker-2`
4. `k3s-test-1-worker-3`
## Kubernetes Resources
Kubernetes resouces are deployed and managed separately through [nix-config/pulumi/k8s/](../../pulumi/k8s/).
[k3s]: https://github.com/k3s-io/k3s/
[what-have-k3s-removed-from-upstream-kubernetes]: https://github.com/k3s-io/k3s/?tab=readme-ov-file#what-have-you-removed-from-upstream-kubernetes

4
pulumi/README.md Normal file
View File

@@ -0,0 +1,4 @@
# Pulumi - Infrastructure as Code
TODO

20
pulumi/k8s/README.md Normal file
View File

@@ -0,0 +1,20 @@
# Kubernetes
## Why Pulumi for Kubernetes?
1. Deploying Helm charts declaratively.
- Helm CLI supports only imperative commands, you need to add a repository, update the repository,
and install the chart with a single command,
it's really hard to manage the lifecycle of the Helm chart in this way.
- Pulumi can deploy Helm charts declaratively, you can manage the lifecycle of the Helm chart easily.
1. Deal with secrets in a secure way.
1. Deploying Kubernetes resources in a unified way, instead of running a bunch of commands like `kubectl apply`, `helm install`, `kustomize`, etc.
## Why not ArgoCD or FluxCD?
ArgoCD & FluxCD support only Kubernetes, and it's too heavy for my use case.
Pulumi supports not only Kubernetes but also other cloud providers like Proxmox, Libvirt, AWS, Azure, GCP, etc.
It's a unified way to manage the lifecycle of all my infrastructure resources.