Files

97 lines
2.6 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: llmisvc-controller-manager
namespace: kserve
labels:
app.kubernetes.io/name: llmisvc-controller-manager
app.kubernetes.io/component: controller
control-plane: llmisvc-controller-manager
controller-tools.k8s.io: "1.0"
spec:
selector:
matchLabels:
control-plane: llmisvc-controller-manager
controller-tools.k8s.io: "1.0"
template:
metadata:
labels:
app.kubernetes.io/name: llmisvc-controller-manager
app.kubernetes.io/component: controller
control-plane: llmisvc-controller-manager
controller-tools.k8s.io: "1.0"
annotations:
kubectl.kubernetes.io/default-container: manager
spec:
serviceAccountName: $(llmisvc-serviceAccountName)
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
terminationGracePeriodSeconds: 30
containers:
- name: manager
image: ko://github.com/kserve/kserve/cmd/llmisvc
imagePullPolicy: Always
command:
- /manager
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
args:
- "--metrics-addr=127.0.0.1:8443"
- "--leader-elect"
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
livenessProbe:
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
httpGet:
path: /healthz
port: 8081
readinessProbe:
initialDelaySeconds: 30
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 5
httpGet:
path: /readyz
port: 8081
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
ports:
- containerPort: 9443
name: webhook-server
protocol: TCP
- containerPort: 8443
name: metrics
protocol: TCP
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
volumes:
- name: cert
secret:
defaultMode: 420
secretName: llmisvc-webhook-server-cert