30 lines
2.4 KiB
Markdown
30 lines
2.4 KiB
Markdown
# k8s 🔧
|
|
|
|
Кратко: Kubernetes‑манифесты для namespace `terra` — развёртывание `registry-server`, `terraform-operator`, Ingress, TLS и связанные ресурсы (S3, CRD, builder ConfigMap).
|
|
|
|
## Важные файлы
|
|
- `00-namespace.yaml` — namespace `terra`
|
|
- `00-rbac.yaml` — RBAC для оператора
|
|
- `02-crd.yaml` — CRD для операторов (ProviderRelease)
|
|
- `03-build-script.yaml` — ConfigMap для сборщика Job'ов
|
|
- `04-operator-deployment.yaml` — Deployment для оператора
|
|
- `05-registry-server.yaml`, `06-registry-server-docs.yaml` — Deployment, Service и Ingress для `registry-server`
|
|
|
|
## Как перенести на новый домен (коротко) ✅
|
|
1. **Ingress**: в манифесте (обычно `05-*` или `registry-ingress`) заменить `host: terra.k8c.ru` на новый домен и убедиться в корректной аннотации `cert-manager.io/cluster-issuer` (или задать другой `secretName`).
|
|
2. **Certificate**: cert-manager автоматически выпустит/обновит TLS; проверьте `kubectl -n terra get certificate registry-tls -o yaml` и дождитесь `status.conditions[*].type == Ready`.
|
|
3. **Deployment env**: заменить `REGISTRY_HOSTNAME` в `04-operator-deployment.yaml` и в `registry-server` на новый домен.
|
|
4. **DNS**: добавить A/CNAME запись для нового домена, указывающую на IP балансировщика (`kubectl -n terra get ingress registry-ingress -o jsonpath='{.status.loadBalancer.ingress[0].ip}'`).
|
|
5. **Secrets & storage**: используйте `s3-credentials` (S3_ENDPOINT/S3_ACCESS_KEY/S3_SECRET_KEY) и убедитесь в доступности S3.
|
|
6. **Apply & Verify**:
|
|
- `kubectl apply -f manifests/`
|
|
- `kubectl -n terra describe ingress registry-ingress`
|
|
- `kubectl -n terra get certificate registry-tls`
|
|
- `curl -vk https://<domain>/docs/<namespace>/<name>/<version>/`
|
|
|
|
## Проверки (read-only)
|
|
- `kubectl -n terra get ingress,svc,deploy,po,secret`
|
|
- `kubectl -n terra get certificate registry-tls -o yaml`
|
|
- `kubectl -n terra logs <registry-pod>`
|
|
|
|
> Примечание: это инструкция для операции вручную/CI; я ничего не меняю в кластере автоматически. |