Skip to content

Instantly share code, notes, and snippets.

@ondrejmo
Created November 10, 2021 20:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ondrejmo/7111d0f171d35e33b20c42d51e272127 to your computer and use it in GitHub Desktop.
Save ondrejmo/7111d0f171d35e33b20c42d51e272127 to your computer and use it in GitHub Desktop.
Example LibreSpeed deployment on k8s
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: speed
namespace: default
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: speed
policyTypes:
- Egress
---
apiVersion: v1
kind: Service
metadata:
name: speed
namespace: default
spec:
selector:
app.kubernetes.io/name: speed
ports:
- name: http
port: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: speed
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: speed
template:
metadata:
labels:
app.kubernetes.io/name: speed
spec:
automountServiceAccountToken: false
nodeSelector:
kubernetes.io/arch: amd64
containers:
- name: speed
image: adolfintel/speedtest:5.2.4
ports:
- containerPort: 80
env:
- name: MODE
value: standalone
- name: TITLE
value: "SpeedTest"
- name: DISABLE_IPINFO
value: "true"
- name: TELEMETRY
value: "false"
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: speed
namespace: default
spec:
dnsNames:
- speed.example
secretName: speed-certificate
issuerRef:
name: cert-manager-default-clusterissuer
kind: ClusterIssuer
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: speed
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`speed.example`)
kind: Rule
services:
- name: speed
port: 80
tls:
secretName: speed-certificate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment