This repo deploys:
- cert-manager
- internal CA (self-signed bootstrap -> ClusterIssuer)
- TLS certs for Postgres / Redis / Mongo
- Postgres (Bitnami Helm, standalone, TLS)
- Redis (Bitnami Helm, standalone, TLS)
- Mongo (manifest, TLS enabled)
k3s requests: docker.io/rancher/mirrored-pause:3.6
create:
/etc/rancher/k3s/registries.yaml
sudo mkdir -p /etc/rancher/k3s
sudo nano /etc/rancher/k3s/registries.yamlput this:
mirrors:
docker.io:
endpoint:
- "https://docker.arvancloud.ir"restart k3s:
sudo systemctl restart k3sverify pause pulls:
sudo crictl pull docker.io/rancher/mirrored-pause:3.6kubectl apply -f namespaces/namespaces.yamlkubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.yamlwait until ready:
kubectl rollout status deployment cert-manager -n cert-manager
kubectl rollout status deployment cert-manager-webhook -n cert-manager
kubectl rollout status deployment cert-manager-cainjector -n cert-managerissuer self-signed:
kubectl apply -f ca/bootstrap/issuer-selfsigned-cert-manager.yaml
kubectl get issuer -n cert-managercreate CA certificate (creates secret ca):
kubectl apply -f ca/ca/certificate-ca-cert-manager.yaml
kubectl get secret ca -n cert-managercreate ClusterIssuer:
kubectl apply -f ca/ca/clusterissuer-ca.yaml
kubectl get clusterissuer cakubectl apply -f data/postgres/cert/certificate.yaml
kubectl apply -f data/redis/cert/certificate.yaml
kubectl apply -f data/mongo/cert/certificate.yamlwait:
kubectl get certificate -A
kubectl get secret -n data | grep tlsexpected:
- postgres-server-tls
- redis-server-tls
- mongo-server-tls
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm upgrade --install postgres bitnami/postgresql -n data -f data/postgres/helm/values.yamlwait:
kubectl get pods -n data -whelm upgrade --install redis bitnami/redis -n data -f data/redis/helm/values.yamlwait:
kubectl get pods -n data -wkubectl apply -f data/mongo/manifest/mongo-manifest.yamlwait:
kubectl get pods -n data -wpods:
kubectl get pods -n cert-manager
kubectl get pods -n datacertificates:
kubectl get certificate -A