Files

438 lines
9.4 KiB
YAML
Generated

apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/instance: kserve-localmodel-controller-manager
app.kubernetes.io/managed-by: kserve-localmodel-controller-manager
app.kubernetes.io/name: kserve
name: kserve-localmodel-controller-manager
namespace: kserve
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/instance: kserve-localmodelnode-agent
app.kubernetes.io/managed-by: kserve-localmodelnode-agent
app.kubernetes.io/name: kserve
name: kserve-localmodelnode-agent
namespace: kserve
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: kserve-localmodel-manager-role
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- nodes/status
verbs:
- get
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims
- persistentvolumes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- serving.kserve.io
resources:
- inferenceservices
- llminferenceservices
- localmodelnodegroups
verbs:
- get
- list
- watch
- apiGroups:
- serving.kserve.io
resources:
- localmodelcaches
- localmodelnamespacecaches
- localmodelnodes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- serving.kserve.io
resources:
- localmodelcaches/status
- localmodelnamespacecaches/status
verbs:
- get
- patch
- update
- apiGroups:
- serving.kserve.io
resources:
- localmodelnodes/status
verbs:
- get
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: kserve-localmodelnode-agent-role
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- apiGroups:
- ""
resources:
- nodes
- secrets
- serviceaccounts
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- nodes/status
verbs:
- get
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- batch
resources:
- jobs/status
verbs:
- get
- apiGroups:
- serving.kserve.io
resources:
- clusterstoragecontainers
- localmodelnodegroups
verbs:
- get
- list
- watch
- apiGroups:
- serving.kserve.io
resources:
- localmodelnodes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- serving.kserve.io
resources:
- localmodelnodes/status
verbs:
- get
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: kserve-localmodel-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kserve-localmodel-manager-role
subjects:
- kind: ServiceAccount
name: kserve-localmodel-controller-manager
namespace: kserve
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: kserve-localmodelnode-agent-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kserve-localmodelnode-agent-role
subjects:
- kind: ServiceAccount
name: kserve-localmodelnode-agent
namespace: kserve
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: localmodel-webhook-server-service
namespace: kserve
spec:
ports:
- port: 443
targetPort: webhook-server
selector:
control-plane: kserve-localmodel-controller-manager
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
control-plane: kserve-localmodel-controller-manager
controller-tools.k8s.io: "1.0"
name: kserve-localmodel-controller-manager
namespace: kserve
spec:
selector:
matchLabels:
control-plane: kserve-localmodel-controller-manager
controller-tools.k8s.io: "1.0"
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
app.kubernetes.io/name: kserve-localmodel-controller-manager
control-plane: kserve-localmodel-controller-manager
controller-tools.k8s.io: "1.0"
spec:
containers:
- command:
- /manager
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: kserve/kserve-localmodel-controller:latest
imagePullPolicy: Always
livenessProbe:
failureThreshold: 5
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 30
timeoutSeconds: 5
name: manager
ports:
- containerPort: 9443
name: webhook-server
protocol: TCP
readinessProbe:
failureThreshold: 5
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 30
periodSeconds: 5
timeoutSeconds: 5
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 200Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsNonRoot: true
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccountName: kserve-localmodel-controller-manager
terminationGracePeriodSeconds: 10
volumes:
- name: cert
secret:
defaultMode: 420
secretName: localmodel-webhook-server-cert
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
control-plane: kserve-localmodelnode-agent
controller-tools.k8s.io: "1.0"
name: kserve-localmodelnode-agent
namespace: kserve
spec:
selector:
matchLabels:
control-plane: kserve-localmodelnode-agent
controller-tools.k8s.io: "1.0"
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
app.kubernetes.io/name: kserve-localmodelnode-agent
control-plane: kserve-localmodelnode-agent
controller-tools.k8s.io: "1.0"
spec:
containers:
- command:
- /manager
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
image: kserve/kserve-localmodelnode-agent:latest
imagePullPolicy: Always
name: manager
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 200Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsNonRoot: true
volumeMounts:
- mountPath: /mnt/models
name: models
readOnly: false
nodeSelector:
kserve/localmodel: worker
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccountName: kserve-localmodelnode-agent
terminationGracePeriodSeconds: 10
volumes:
- hostPath:
path: /models
type: DirectoryOrCreate
name: models
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: localmodel-serving-cert
namespace: kserve
spec:
commonName: localmodel-webhook-server-service.kserve.svc
dnsNames:
- localmodel-webhook-server-service.kserve.svc
issuerRef:
kind: Issuer
name: selfsigned-issuer
secretName: localmodel-webhook-server-cert
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: kserve/localmodel-serving-cert
creationTimestamp: null
labels:
app.kubernetes.io/component: localmodel
app.kubernetes.io/name: kserve
name: localmodelcache.serving.kserve.io
webhooks:
- admissionReviewVersions:
- v1beta1
clientConfig:
service:
name: localmodel-webhook-server-service
namespace: kserve
path: /validate-serving-kserve-io-v1alpha1-localmodelcache
failurePolicy: Fail
name: localmodelcache.kserve-webhook-server.validator
rules:
- apiGroups:
- serving.kserve.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
- DELETE
resources:
- localmodelcaches
sideEffects: None