apiVersion: apps/v1 kind: Deployment metadata: name: playwright namespace: default spec: replicas: 1 selector: matchLabels: app: playwright strategy: type: Recreate template: metadata: labels: app: playwright spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: kubernetes.io/hostname operator: In values: - iris weight: 100 containers: - command: - npx - -y - playwright@1.58.0 - run-server - --port - '3000' - --host - 0.0.0.0 env: - name: TZ value: America/Sao_Paulo image: mcr.microsoft.com/playwright:v1.62.1-noble imagePullPolicy: Always name: playwright ports: - containerPort: 3000 protocol: TCP resources: limits: cpu: '4' memory: 4Gi requests: cpu: 500m memory: 512Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /dev/shm name: dshm dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - emptyDir: medium: Memory name: dshm status: availableReplicas: 1 conditions: - lastTransitionTime: '2026-05-29T15:54:24Z' lastUpdateTime: '2026-07-22T10:14:35Z' message: ReplicaSet "playwright-86c74d7c78" has successfully progressed. reason: NewReplicaSetAvailable status: 'True' type: Progressing - lastTransitionTime: '2026-08-28T06:04:14Z' lastUpdateTime: '2026-08-28T06:04:14Z' message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: 'True' type: Available observedGeneration: 95 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 --- apiVersion: v1 kind: Service metadata: name: playwright namespace: default spec: internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - port: 3000 protocol: TCP targetPort: 3000 selector: app: playwright sessionAffinity: None type: ClusterIP status: loadBalancer: {} --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: playwright namespace: default spec: ingressClassName: nginx rules: - host: playwright.haven http: paths: - backend: service: name: playwright port: number: 3000 path: / pathType: Prefix status: loadBalancer: ingress: - ip: 192.168.20.204