Điểm:1

Làm cách nào để liên kết configmap với tệp bên ngoài?

lá cờ ke

Với điều này, chúng ta có thể tạo một sơ đồ cấu hình được liên kết với tệp bên ngoài.

kubectl tạo sơ đồ cấu hình cơ sở dữ liệu-config --from-file=database.properties

Nhưng khi chúng tôi chỉnh sửa yaml, nó sẽ hiển thị toàn bộ nội dung của tệp được kết xuất ở đó.

Có cách nào để chỉ trỏ đến một tệp trong yaml để tôi sẽ giữ tệp thuộc tính trong cùng thư mục với configmap yaml và áp dụng thư mục cho tất cả các yaml với:

áp dụng kubectl -f target_folder\

Xin đề nghị.

Điểm:0
lá cờ in

sơ đồ cấu hình

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ờ.

Wytrzymały Wiktor avatar
lá cờ it
Xin chào @uday. Điều này có [trả lời câu hỏi của bạn](https://stackoverflow.com/help/someone-answers) không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.