Gì sơ đồ cấu hình
Là
ConfigMap là một đối tượng API được sử dụng để lưu trữ dữ liệu không bí mật trong
cặp khóa-giá trị.Các nhóm có thể sử dụng Bản đồ cấu hình làm biến môi trường,
đối số dòng lệnh hoặc dưới dạng tệp cấu hình trong ổ đĩa.
Bản đồ cấu hình cho phép bạn tách riêng cấu hình dành riêng cho môi trường
từ hình ảnh vùng chứa của bạn, để các ứng dụng của bạn dễ dàng
cầm tay.
Nói cách khác khi sơ đồ cấu hình
được tạo từ tệp bên ngoài (như trường hợp của bạn) hoặc từ các giá trị khác, máy chủ API sẽ xác thực nếu mọi thứ đều chính xác và sau đó sẽ lưu nó vào v.v.
. Điều này cũng giải thích lý do tại sao khi bạn chỉnh sửa
của bạn sơ đồ cấu hình
bạn thấy toàn bộ bối cảnh của nó. Điều này xảy ra bởi vì sơ đồ cấu hình
được đọc từ v.v.
, không phải bất kỳ nguồn bên ngoài nào.
Đây cũng là một trong những lý do tại sao không nên lưu trữ các tệp lớn dưới dạng bản đồ cấu hình hoặc bí mật - nó sẽ ảnh hưởng đến hiệu suất của cụm kubernetes vì tất cả các đối tượng của cụm được lưu trữ bên trong v.v.
.
tùy chỉnh
Đây là một trong những cách để đạt được yêu cầu của bạn để chạy một lệnh khi tạo/cấu hình sơ đồ cấu hình
dựa trên tệp trong cùng thư mục.
Nó là một công cụ độc lập để tùy chỉnh các đối tượng Kubernetes thông qua tệp kustomization.
Tôi đã tạo một ví dụ ngắn và đơn giản để thể hiện ý tưởng:
cây $
.
âââ application.properties
âââ kustomization.yaml
0 thư mục, 2 tập tin
$ cat kustomization.yaml
tùy chọn máy phát điện:
disableNameSuffixHash: true # cờ này được sử dụng để tránh tạo sơ đồ cấu hình mới, thay vào đó, nó sẽ được sửa đổi khi ngữ cảnh tệp bị thay đổi
configMapGenerator:
- tên: ứng dụng-config
các tập tin:
- ứng dụng.properties
ứng dụng $ cat.properties
nghe.url=localhost:9010
client.url=some_url:3000
Kiểm tra điều này, lệnh này sẽ chỉ kết xuất configmap, nó vẫn chưa tạo ra nó:
$ kubectl kustomize application.settings/
phiên bản api: v1
dữ liệu:
ứng dụng.properties: |
nghe.url=localhost:9010
client.url=some_url:3000
loại: Bản đồ cấu hình
metadata:
tên: ứng dụng-config
Bước cuối cùng là áp dụng nó:
$ kubectl áp dụng -k application.settings/
configmap/application-config đã tạo
$ kubectl lấy cm
TÊN DỮ LIỆU TUỔI
ứng dụng-config 1 23s
Giải thích ngắn gọn cho lệnh trên:
Để áp dụng các Tài nguyên đó, hãy chạy kubectl apply với --kustomize hoặc -k
lá cờ.
Liên kết hữu ích: