This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Further Setup and Troubleshooting

Various guides to setting up and troubleshooting your Portefaix deployment

1 - Helm and Kustomize

Helm and Kustomize usage

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

CI/CD for Portefaix

Github Actions

Github Actions is used.

Cloud ProviderCreate (Terraform)Destroy (Terraform)Check (Inspec)
Google Cloud Platform
Amazon AWS
Microsoft Azure
AlibabaCloud
Scaleway
Digital Ocean

3 - Roadmap

The Portefaix 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)
  • WIPTracing: 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

Backlog

Cloud providers

Secrets Store CSI Driver

Managing Cloud Services via Kubernetes CRDs

4 - Troubleshooting

Finding and fixing problems in your Portefaix deployment

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