Skip to content

Instantly share code, notes, and snippets.

@hajowieland
Created March 1, 2023 09:33
Show Gist options
  • Save hajowieland/f65e42dc44d4b5b9bbc2ac42e926bbcd to your computer and use it in GitHub Desktop.
Save hajowieland/f65e42dc44d4b5b9bbc2ac42e926bbcd to your computer and use it in GitHub Desktop.
echoserver
apiVersion: v1
kind: ServiceAccount
metadata:
name: echoserver
namespace: hajo
labels:
app: echoserver
owner: hajo
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: echoserver
namespace: hajo
labels:
app: echoserver
owner: hajo
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: echoserver
namespace: hajo
labels:
app: echoserver
owner: hajo
subjects:
- kind: ServiceAccount
name: echoserver
namespace: hajo
roleRef:
kind: Role
name: echoserver
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: echoserver
namespace: hajo
labels:
app: echoserver
owner: hajo
spec:
replicas: 3
selector:
matchLabels:
app: echoserver
owner: hajo
template:
metadata:
labels:
app: echoserver
owner: hajo
spec:
serviceAccountName: echoserver
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: group
operator: In
values:
- infrastructure
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- echoserver
topologyKey: kubernetes.io/hostname
containers:
- image: gcr.io/google_containers/echoserver:1.10
imagePullPolicy: Always
name: echoserver
ports:
- containerPort: 8080
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
---
apiVersion: v1
kind: Service
metadata:
name: echoserver
namespace: hajo
labels:
app: echoserver
owner: hajo
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
selector:
app: echoserver
owner: hajo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment