Skip to content

Instantly share code, notes, and snippets.

@Reamer
Created April 10, 2020 07:44
Show Gist options
  • Save Reamer/bac4e568064809160c969034ed5a4b18 to your computer and use it in GitHub Desktop.
Save Reamer/bac4e568064809160c969034ed5a4b18 to your computer and use it in GitHub Desktop.
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
image.openshift.io/triggers: >-
[{"from":{"kind":"ImageStreamTag","name":"zeppelin-server:0.9.0-SNAPSHOT"},"fieldPath":"spec.template.spec.containers[?(@.name==\"zeppelin-server\")].image"}]
name: zeppelin-server
labels:
app.kubernetes.io/name: zeppelin-server
app.kubernetes.io/version: 0.9.0-SNAPSHOT
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: zeppelin-server
app.kubernetes.io/version: 0.9.0-SNAPSHOT
strategy:
type: RollingUpdate
template:
metadata:
labels:
app.kubernetes.io/name: zeppelin-server
app.kubernetes.io/version: 0.9.0-SNAPSHOT
spec:
serviceAccountName: zeppelin-server
volumes:
- name: prometheus-config
configMap:
name: prometheus-jmx
- name: zeppelin-server-conf
configMap:
name: zeppelin-server-conf
containers:
- name: zeppelin-server
image: harbor.example.com/dap/zeppelin-server:0.9.0-SNAPSHOT
resources:
limits:
cpu: "4"
memory: 6Gi
requests:
cpu: "250m"
memory: 5Gi
ports:
- name: http
containerPort: 8080
- name: prom-metric
containerPort: 8090
- name: rpc
containerPort: 12320
livenessProbe:
httpGet:
path: /zeppelin-k8s/
port: http
initialDelaySeconds: 60
env:
- name: LDAP_PASSWORD
valueFrom:
secretKeyRef:
name: ldap
key: LDAP_PASSWORD
- name: POD_UID
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.uid
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
envFrom:
- configMapRef:
name: zeppelin-server-conf-map
volumeMounts:
- name: zeppelin-server-conf
mountPath: /opt/zeppelin/conf
- name: prometheus-config
mountPath: /etc/custom-metrics/conf
---
kind: Service
apiVersion: v1
metadata:
name: zeppelin-server # keep Service name the same to Pod name.
labels:
app: zeppelin-server
spec:
ports:
- name: http
port: 8080
- name: prom-metric
port: 8090
protocol: TCP
- name: rpc # port name is referenced in the code. So it shouldn't be changed.
port: 12320
selector:
app.kubernetes.io/name: zeppelin-server
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: zeppelin-server
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: zeppelin-server-role
rules:
- apiGroups: [""]
resources: ["pods", "services"]
verbs: ["create", "get", "update", "patch", "list", "delete", "watch"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["bind", "create", "get", "update", "patch", "list", "delete", "watch"]
- apiGroups: ["extensions"]
resources: ["ingresses"]
verbs: ["create", "get", "delete"]
- apiGroups: ["route.openshift.io"]
resources: ["routes/custom-host"]
verbs: ["create"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: zeppelin-server-role-binding
subjects:
- kind: ServiceAccount
name: zeppelin-server
roleRef:
kind: Role
name: zeppelin-server-role
apiGroup: rbac.authorization.k8s.io
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment