File size: 1,828 Bytes
287a0bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
apiVersion: v1
kind: Service
metadata:
  name: segment-server
  namespace: chroma
spec:
  ports:
    - name: segment-server-port
      port: 50051
      targetPort: 50051
  selector:
    app: segment-server
  type: ClusterIP

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: segment-server
  namespace: chroma
spec:
  replicas: 1
  selector:
    matchLabels:
      app: segment-server
  template:
    metadata:
      labels:
        app: segment-server
        member-type: worker
    spec:
      containers:
        - name: segment-server
          image: worker
          imagePullPolicy: IfNotPresent
          command: ["cargo", "run"]
          ports:
            - containerPort: 50051
          volumeMounts:
            - name: chroma
              mountPath: /index_data
          env:
            - name: CHROMA_WORKER__PULSAR_URL
              value: pulsar://pulsar.chroma:6650
            - name: CHROMA_WORKER__PULSAR_NAMESPACE
              value: default
            - name: CHROMA_WORKER__PULSAR_TENANT
              value: default
            - name: CHROMA_WORKER__MY_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          # livenessProbe:
          #   grpc:
          #     port: 50051
          #   initialDelaySeconds: 10
      volumes:
        - name: chroma
          emptyDir: {}

---

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: chroma
  name: pod-watcher
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: pod-watcher-binding
  namespace: chroma
subjects:
- kind: ServiceAccount
  name: default
  namespace: chroma
roleRef:
  kind: Role
  name: pod-watcher
  apiGroup: rbac.authorization.k8s.io