kustomize

This commit is contained in:
Steinkirch 2020-04-06 17:23:26 -07:00
parent ae72757665
commit aa0e248a45
330 changed files with 27690 additions and 0 deletions

View file

@ -0,0 +1,5 @@
approvers:
- neuromage
- prodonjs
- rileyjbauer
- zhenghuiwang

View file

@ -0,0 +1,43 @@
namePrefix: metadata-
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
kustomize.component: metadata
configMapGenerator:
- name: ui-parameters
env: params.env
resources:
- metadata-db-pvc.yaml
- metadata-db-secret.yaml
- metadata-db-deployment.yaml
- metadata-db-service.yaml
- metadata-deployment.yaml
- metadata-service.yaml
- metadata-ui-deployment.yaml
- metadata-ui-role.yaml
- metadata-ui-rolebinding.yaml
- metadata-ui-sa.yaml
- metadata-ui-service.yaml
namespace: kubeflow
vars:
- name: ui-namespace
objref:
kind: Service
name: ui
apiVersion: v1
fieldref:
fieldpath: metadata.namespace
- name: ui-clusterDomain
objref:
kind: ConfigMap
name: ui-parameters
version: v1
fieldref:
fieldpath: data.uiClusterDomain
- name: service
objref:
kind: Service
name: ui
apiVersion: v1
fieldref:
fieldpath: metadata.name

View file

@ -0,0 +1,49 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: db
labels:
component: db
spec:
replicas: 1
template:
metadata:
name: db
labels:
component: db
spec:
containers:
- name: db-container
image: mysql:8.0.3
args:
- --datadir
- /var/lib/mysql/datadir
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: metadata-db-secrets
key: MYSQL_ROOT_PASSWORD
- name: MYSQL_ALLOW_EMPTY_PASSWORD
value: "true"
- name: MYSQL_DATABASE
value: "metadb"
ports:
- name: dbapi
containerPort: 3306
readinessProbe:
exec:
command:
- "/bin/bash"
- "-c"
- "mysql -D $$MYSQL_DATABASE -p$$MYSQL_ROOT_PASSWORD -e 'SELECT 1'"
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
volumeMounts:
- name: metadata-mysql
mountPath: /var/lib/mysql
volumes:
- name: metadata-mysql
persistentVolumeClaim:
claimName: metadata-mysql

View file

@ -0,0 +1,10 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

View file

@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: db-secrets
data:
MYSQL_ROOT_PASSWORD: dGVzdA== # "test"

View file

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: db
labels:
component: db
spec:
type: ClusterIP
ports:
- port: 3306
protocol: TCP
name: dbapi
selector:
component: db

View file

@ -0,0 +1,32 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment
labels:
component: server
spec:
replicas: 3
template:
metadata:
labels:
component: server
spec:
containers:
- name: container
image: gcr.io/kubeflow-images-public/metadata:v0.1.8
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: metadata-db-secrets
key: MYSQL_ROOT_PASSWORD
command: ["./server/server",
"--http_port=8080",
"--mysql_service_host=metadata-db.kubeflow",
"--mysql_service_port=3306",
"--mysql_service_user=root",
"--mysql_service_password=$(MYSQL_ROOT_PASSWORD)",
"--mlmd_db_name=metadb"]
ports:
- name: backendapi
containerPort: 8080

View file

@ -0,0 +1,14 @@
kind: Service
apiVersion: v1
metadata:
labels:
app: metadata
name: service
spec:
selector:
component: server
type: ClusterIP
ports:
- port: 8080
protocol: TCP
name: backendapi

View file

@ -0,0 +1,24 @@
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: ui
labels:
app: metadata-ui
spec:
selector:
matchLabels:
app: metadata-ui
template:
metadata:
name: ui
labels:
app: metadata-ui
spec:
containers:
- image: gcr.io/kubeflow-images-public/metadata-frontend:v0.1.8
imagePullPolicy: IfNotPresent
name: metadata-ui
ports:
- containerPort: 3000
serviceAccountName: ui

View file

@ -0,0 +1,26 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
labels:
app: metadata-ui
name: ui
rules:
- apiGroups:
- ""
resources:
- pods
- pods/log
verbs:
- create
- get
- list
- apiGroups:
- "kubeflow.org"
resources:
- viewers
verbs:
- create
- get
- list
- watch
- delete

View file

@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
labels:
app: metadata-ui
name: ui
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: ui
subjects:
- kind: ServiceAccount
name: ui
namespace: kubeflow

View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: ui

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: ui
labels:
app: metadata-ui
spec:
ports:
- port: 80
targetPort: 3000
selector:
app: metadata-ui

View file

@ -0,0 +1 @@
uiClusterDomain=cluster.local

View file

@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- base
configurations:
- overlays/istio/params.yaml
kind: Kustomization
namespace: kubeflow
resources:
- overlays/istio/virtual-service.yaml

View file

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../../base
resources:
- virtual-service.yaml
configurations:
- params.yaml

View file

@ -0,0 +1,3 @@
varReference:
- path: spec/http/route/destination/host
kind: VirtualService

View file

@ -0,0 +1,21 @@
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: metadata-ui
spec:
gateways:
- kubeflow-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /metadata
rewrite:
uri: /metadata
route:
- destination:
host: $(service).$(ui-namespace).svc.$(ui-clusterDomain)
port:
number: 80
timeout: 300s