Skip to content

Instantly share code, notes, and snippets.

@pbzweihander
Created June 24, 2020 05:36
Show Gist options
  • Save pbzweihander/e4c3ca8fc31f9dbbd4136bab6dcf9a30 to your computer and use it in GitHub Desktop.
Save pbzweihander/e4c3ca8fc31f9dbbd4136bab6dcf9a30 to your computer and use it in GitHub Desktop.
kubia from Kubernetes In Action
apiVersion: apps/v1
kind: Deployment
metadata:
name: kubia
namespace: default
spec:
selector:
matchLabels:
app: kubia
template:
metadata:
name: kubia
labels:
app: kubia
spec:
containers:
- name: server
image: bitnami/minideb
command:
- "sh"
args:
- "-c"
- 'apt update && apt install -y netcat && (echo "$SCRIPT" | bash -)'
env:
- name: SCRIPT
value: |
BODY="You've hit ${HOSTNAME}"
RESPONSE="HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Length: ${#BODY}\r\nContent-Type: text/plain\r\nDate: $(date -u +'%a, %d %m %Y %H:%M:%S GMT')\r\n\r\n${BODY}\r\n\r\n"
while [ 1 ]; do
({ echo -en "$RESPONSE"; } | nc -l -p "${1:-8080}") || true
echo "================================================"
done
ports:
- name: http
containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: kubia
spec:
type: ClusterIP
selector:
app: kubia
ports:
- name: http
protocol: TCP
port: 80
targetPort: http
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment