Skip to content

Instantly share code, notes, and snippets.

@fgbreel
Last active November 3, 2020 11:16
Show Gist options
  • Save fgbreel/e02cfe4b2d8a1bcc133fa3e9b8315fd8 to your computer and use it in GitHub Desktop.
Save fgbreel/e02cfe4b2d8a1bcc133fa3e9b8315fd8 to your computer and use it in GitHub Desktop.
k8s nutshell

Kubernetes in a Nutshell

  1. minikube start && minikube addons enable ingress
  2. eval $(minikube docker-env)
  3. docker build -t app .
  4. echo -e "add to /etc/hosts:\n$(minikube ip) app.example.com\n"
  5. kubectl apply -f app.yaml
  6. curl http://app.example.com
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-deployment
labels:
app: app
spec:
replicas: 1
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: app
image: app
imagePullPolicy: Never # we need to build it (see step #2)
ports:
- containerPort: 8000
---
kind: Service
apiVersion: v1
metadata:
name: app
spec:
selector:
app: app
ports:
- protocol: TCP
port: 80
targetPort: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app
spec:
rules:
- host: app.example.com
http:
paths:
- backend:
serviceName: app
servicePort: 80
FROM debian:stable
RUN apt-get update \
&& apt-get -y --no-install-recommends install \
python \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
EXPOSE "8000"
ENTRYPOINT ["python", "-m", "SimpleHTTPServer"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment