Add model registry v0.2.19

This commit is contained in:
wbsong111
2025-07-01 14:28:17 +09:00
parent f8d6965288
commit 6e83726fb3
68 changed files with 2018 additions and 0 deletions
@@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- model-registry-ui-role.yaml
- model-registry-ui-service.yaml
- model-registry-ui-deployment.yaml
- model-registry-ui-service-account.yaml
images:
- name: model-registry-ui
newName: ghcr.io/kubeflow/model-registry/ui
newTag: v0.2.19
@@ -0,0 +1,60 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: model-registry-ui
labels:
app: model-registry-ui
spec:
replicas: 1
selector:
matchLabels:
app: model-registry-ui
template:
metadata:
labels:
app: model-registry-ui
spec:
serviceAccountName: model-registry-ui
securityContext:
seccompProfile:
type: RuntimeDefault
runAsNonRoot: true
containers:
- name: model-registry-ui
image: model-registry-ui
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /healthcheck
port: 8080
scheme: HTTP
initialDelaySeconds: 30
timeoutSeconds: 15
periodSeconds: 30
successThreshold: 1
failureThreshold: 3
readinessProbe:
httpGet:
path: /healthcheck
port: 8080
scheme: HTTP
initialDelaySeconds: 15
timeoutSeconds: 15
periodSeconds: 30
successThreshold: 1
failureThreshold: 3
resources:
limits:
memory: 2Gi
requests:
cpu: 500m
memory: 2Gi
ports:
- containerPort: 8080
args:
- "--port=8080"
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
@@ -0,0 +1,76 @@
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: model-registry-ui-services-reader
rules:
- apiGroups:
- ''
resources:
- services
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: model-registry-ui-services-reader-binding
subjects:
- kind: ServiceAccount
name: model-registry-ui
roleRef:
kind: ClusterRole
name: model-registry-ui-services-reader
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: model-registry-retrieve-clusterrolebindings
rules:
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterrolebindings
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: model-registry-retrieve-clusterrolebindings-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: model-registry-retrieve-clusterrolebindings
subjects:
- kind: ServiceAccount
name: model-registry-ui
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: model-registry-create-sars
rules:
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: model-registry-create-sars-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: model-registry-create-sars
subjects:
- kind: ServiceAccount
name: model-registry-ui
@@ -0,0 +1,5 @@
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: model-registry-ui
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: model-registry-ui-service
labels:
app: model-registry-ui
run: model-registry-ui
spec:
selector:
app: model-registry-ui
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
type: ClusterIP
@@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
patches:
- path: model-registry-ui-deployment.yaml
target:
group: apps
version: v1
kind: Deployment
name: model-registry-ui
@@ -0,0 +1,5 @@
- op: add
path: /spec/template/spec/containers/0/args
value:
- "--standalone-mode=false"
- "--port=8080"
@@ -0,0 +1,16 @@
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: model-registry-ui
labels:
app: model-registry-ui
spec:
action: ALLOW
rules:
- from:
- source:
principals:
- cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account
selector:
matchLabels:
app: model-registry-ui
@@ -0,0 +1,11 @@
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: model-registry-ui
labels:
app: model-registry-ui
spec:
host: model-registry-ui-service.kubeflow.svc.cluster.local
trafficPolicy:
tls:
mode: ISTIO_MUTUAL
@@ -0,0 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../integrated
- virtual-service.yaml
- destination-rule-ui.yaml
- authorization-policy-ui.yaml
patches:
- path: model-registry-ui-service.yaml
target:
version: v1
kind: Service
name: model-registry-ui-service
namespace: kubeflow
@@ -0,0 +1,3 @@
- op: replace
path: /spec/ports/0/port
value: 80
@@ -0,0 +1,26 @@
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: model-registry-ui
labels:
app: model-registry-ui
spec:
gateways:
- kubeflow-gateway
hosts:
- '*'
http:
- headers:
request:
add:
x-forwarded-prefix: /model-registry
match:
- uri:
prefix: /model-registry/
rewrite:
uri: /
route:
- destination:
host: model-registry-ui-service.kubeflow.svc.cluster.local
port:
number: 80
@@ -0,0 +1,39 @@
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: model-registry-ui-namespaces-reader
rules:
- apiGroups:
- ''
resources:
- namespaces
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: model-registry-ui-namespaces-reader-binding
subjects:
- kind: ServiceAccount
name: model-registry-ui
roleRef:
kind: ClusterRole
name: model-registry-ui-namespaces-reader
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: service-access-cluster-binding
subjects:
- kind: User
name: user@example.com
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
@@ -0,0 +1,15 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- kubeflow-dashboard-rbac.yaml
patches:
- path: model-registry-ui-deployment.yaml
target:
group: apps
kind: Deployment
name: model-registry-ui
version: v1
namespace: kubeflow
@@ -0,0 +1,5 @@
- op: add
path: /spec/template/spec/containers/0/args
value:
- "--standalone-mode=true"
- "--port=8080"