Những gì tôi đang trình bày ở đây là một phiên bản đơn giản hóa thiết lập của tôi và cú pháp sai.
Tôi có một danh sách các "tác nhân" cấp cao mà tôi muốn triển khai dưới dạng nhóm trên cụm kubernetes.
Một số nút trong cụm này có phần cứng đặc biệt, một số thì không, nhưng tất cả các nhóm nên sử dụng cùng một vùng chứa.
Có thể giống như (một lần nữa: cú pháp sai):
đại lý1 wlan
...
đại lý8 wlan
đại lý9 wlan rs232.1
đại lý10 wlan rs232.2
Tôi thiết lập một triển khai trông giống như vậy (cú pháp sai):
triển khai (các nút tiêu chuẩn)
bản sao: 8
---
triển khai (rs232, thiết bị đầu cuối 1)
bản sao: 1
nútChọn:
rs232=1
vi:
rs232=1 (vì nodeSelector không thể được chuyển dễ dàng afaik)
---
triển khai (rs232, thiết bị đầu cuối 2)
bản sao: 1
nútChọn:
rs232=2
vi:
rs232=2
Tôi muốn mỗi tác nhân này khởi động và lấy một danh tính từ danh sách, tất nhiên là có phần cứng phù hợp.
Vì vậy, giống như một nhóm sẽ nói chuyện với một dịch vụ phân phối vai trò như thế:
pod - Xin chào, tôi là pod/container-xyz và tôi có env/nhãn/chú thích rs232=2
dịch vụ - Xin chào, vậy thì bạn hiện là đại lý10
nhóm - OK, tôi sẽ làm công việc của đặc vụ10
(dịch vụ - thật tuyệt, tôi sẽ thêm đại lý10 làm bí danh cho bạn trong cụm DNS) <- đó sẽ là câu hỏi tiếp theo của tôi
Điều tương tự đối với các đại lý không có phần cứng đặc biệt: dịch vụ cung cấp cho họ một vai trò đại lý.
Tôi đã thử một cái gì đó với StatefulSet nhưng điều đó không phù hợp với hóa đơn (do có nhiều nútSelector khác nhau và chúng bắt đầu rất chậm).
Tôi bắt đầu nghĩ về một nhóm máy chủ tự triển khai chuyên dụng sẽ giữ danh sách đại lý của tôi và cho thuê chúng để phù hợp với phần cứng (hơi giống máy chủ dhcp) nhưng tôi khá chắc chắn rằng mình không phải là người duy nhất gặp sự cố này và phải có một giải pháp ra khỏi đó. Tôi nhìn vội vào Zookeeper nhưng tôi không nghĩ nó dành cho mình. Tôi có thể không tìm ra giải pháp vì từ vựng của tôi không đúng như tôi đoán.
Có ai có một ý tưởng tốt? Tôi có đang đi đúng hướng không?