This is the multi-page printable view of this section. Click here to print.
Further Setup and Troubleshooting
1 - Helm and Kustomize
HelmRelease
HelmRelease control the Helm chart into Flux.
Display informations about the Helm chart from a HelmRelease:
❯ make helm-flux-chart CHART=kubernetes/base/monitoring/kube-prometheus-stack/kube-prometheus-stack.yaml
[portefaix] Helm repository and chart kubernetes/base/monitoring/kube-prometheus-stack/kube-prometheus-stack.yaml
https://prometheus-community.github.io/helm-charts
prometheus-community-charts
kube-prometheus-stack
16.13.0
monitoring
You can extract from a HelmRelease file the Helm repository and add it:
❯ DEBUG=true make helm-flux-repo CHART=kubernetes/base/logging/vector/vector.yaml
Then display available values from the Helm chart:
❯ DEBUG=true make helm-flux-values CHART=kubernetes/base/logging/vector/vector.yaml
Environments
You could rendering Kubernetes manifests files like Flux:
❯ DEBUG=true make helm-flux-template CHART=kubernetes/base/logging/vector/vector.yaml ENV=prod
Or install the chart for an environment
❯ DEBUG=true make helm-flux-install CHART=kubernetes/base/logging/vector/vector.yaml ENV=prod
2 - Continuous Integration
Github Actions
Github Actions is used.
Cloud Provider | Create (Terraform) | Destroy (Terraform) | Check (Inspec) |
---|---|---|---|
Google Cloud Platform | |||
Amazon AWS | |||
Microsoft Azure | |||
AlibabaCloud | |||
Scaleway | |||
Digital Ocean |
3 - Roadmap
v1
Infrastructure
- Development environment
- Terraform code for Google Cloud Platform
- Terraform code for Amazon AWS
- Terraform code for Microsoft Azure
- Terraform code for Alicloud
- Terraform code for Digital Ocean
- Terraform code for Scaleway
- Terraform code for Exoscale
- Terraform code for IBM Cloud
- Terraform code for Vultr
- Terraform code for Civo
-
WIP
Terraform code for Oracle Cloud
Core
- Gitops using Argo-CD
- Gitops using Flux v2
Observability
-
WIP
Monitoring: Prometheus, Alertmanager, Thanos, Mimir, … ( GKE , EKS , AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab) -
WIP
Logging: Loki, Vector ( GKE , EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab) -
WIP
Tracing: Tempo (GKE, EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab)
System
-
WIP
External-DNS, Cert-Manager ( GKE , EKS , AKS, Alicloud, Scaleway, Exoscale, IBM, OCI) -
WIP
Autoscaling (GKE, EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab )
### Authentication
-
WIP
Argo-CD with Dex (Auth0, Github) (GKE, EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab ) -
WIP
Oauth2-Proxy (GKE, EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI)
Service Mesh
-
WIP
Open Service Mesh ( GKE , EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab)
Chaos
-
WIP
Chaos Mesh ( GKE , EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab) -
WIP
Litmus Chaos ( GKE , EKS, AKS, Alicloud, Scaleway, Exoscale, IBM, OCI, Homelab)
v2
Service Mesh Cloud Providers
- Traffic Director [ #8 ]
- AWS App Mesh [ #9 ]
- Service Fabric Mesh [ #10 ]
Backlog
Cloud providers
Secrets Store CSI Driver
- GCP Secret manager [ #4 ]
- Amazon Secrets manager [ #5 ]
- Azure Vault [ #6 ]
Managing Cloud Services via Kubernetes CRDs
4 - Troubleshooting
This page presents some hints for troubleshooting specific problems that you may encounter.
Support
Visit the Portefaix support page to find resources and community forums where you can ask for help.
DNS
To troubleshooting DNS, you could use the testing/dns.yaml
manifest.
Edit the nodeSelector
section to specify on which node you want deploy the pod.
Then, perform some tests:
❯ kubectl exec -i -t dnsutils -- nslookup kubernetes.default
Server: 10.43.0.10
Address: 10.43.0.10#53
Name: kubernetes.default.svc.cluster.local
Address: 10.43.0.1
❯ kubectl exec -i -t dnsutils -- nslookup github.com
Server: 10.43.0.10
Address: 10.43.0.10#53
Non-authoritative answer:
Name: github.com
Address: 140.82.121.4