Điểm:2

Làm cách nào để tải sơ đồ cấu hình từ tệp thuộc tính bằng kustomize?

lá cờ cn

Tôi đã thử sử dụng kustomize để tải tệp thuộc tính dưới dạng sơ đồ cấu hình.

Để làm được điều đó, tôi đã tạo một bộ mẫu như trong github liên kết.

Với các tệp cơ sở:

#kustomize cơ sở xây dựng
phiên bản api: v1
dữ liệu:
  cấu hình: |-
    dbport=1234
    dcname=sfsdf
    dbssl=sai
    thời gian khóa = 300
    người dùng miền=
loại: Bản đồ cấu hình
metadata:
  nhãn:
    chủ sở hữu: Sara
  tên: cơ sở dữ liệu-configmap
---
apiVersion: ứng dụng/v1
loại: Triển khai
metadata:
  nhãn:
    ứng dụng: nginx
    chủ sở hữu: Sara
  tên: nginx
thông số kỹ thuật:
  bản sao: 1
  bộ chọn:
    trận đấuNhãn:
      ứng dụng: nginx
      chủ sở hữu: Sara
  mẫu:
    metadata:
      nhãn:
        ứng dụng: nginx
        chủ sở hữu: Sara
    thông số kỹ thuật:
      hộp đựng:
      - hình ảnh: nginx
        tên: nginx

Với tệp bên ngoài:

#kustomize tệp bản dựng
phiên bản api: v1
dữ liệu:
  config: "dbport=156767\r\ndcname=dfsd\r\ndbssl=false\r\nlocktime=300\r\ndomainuser=somedts"
loại: Bản đồ cấu hình
metadata:
  nhãn:
    vi: nhà phát triển
    chủ sở hữu: Sara
  tên: dev-cơ sở dữ liệu-configmap
---
apiVersion: ứng dụng/v1
loại: Triển khai
metadata:
  nhãn:
    ứng dụng: nginx
    vi: nhà phát triển
    chủ sở hữu: Sara
  tên: dev-nginx
thông số kỹ thuật:
  bản sao: 1
  bộ chọn:
    trận đấuNhãn:
      ứng dụng: nginx
      vi: nhà phát triển
      chủ sở hữu: Sara
  mẫu:
    metadata:
      nhãn:
        ứng dụng: nginx
        vi: nhà phát triển
        chủ sở hữu: Sara
    thông số kỹ thuật:
      hộp đựng:
      - hình ảnh: nginx
        tên: nginx

Nếu bạn quan sát sơ đồ cấu hình | được loại bỏ và cũng được thay thế bằng \r\n như một chuỗi duy nhất. Làm thế nào để sửa chữa sự liên kết này?

lá cờ in
Chà, bỏ qua các ký tự `\r`, hai dạng đó giống hệt nhau; trích dẫn vô hướng `: |` chỉ dành cho tiêu dùng của con người -- vào thời điểm nó được đưa vào cụm, nó có dạng `config: "whatever\nwhatever-else\n"` vì `yaml2json` sẽ hiển thị cho cả hai dạng hoặc, tất nhiên, cách nó thực sự hiện thực hóa trong Pod
Điểm:0
lá cờ in

Đăng bài này dưới dạng wiki cộng đồng, vui lòng chỉnh sửa và mở rộng.


Như @mdaniel đã đề cập trong bình luận:

Chà, bỏ qua các ký tự \r, hai dạng đó giống hệt nhau; : | trích dẫn vô hướng cho chỉ dành cho tiêu dùng của con người -- vào thời điểm nó được vào cụm, nó có dạng cấu hình: "bất cứ điều gì\nbất cứ điều gì khác\n" như yaml2json sẽ hiển thị cho cả hai biểu mẫu hoặc, tất nhiên, cách nó thực sự hiện thực hóa trong Pod

Bạn có thể kiểm tra điều này bằng cách lấy chi tiết sơ đồ cấu hình từ cụm kubernetes trong json và thấy rằng chúng được lưu trữ theo cùng một cách (ngoại trừ bổ sung \ r được đề cập ở trên):

$ kubectl lấy cm cơ sở dữ liệu-configmap -o json
{
    "apiVersion": "v1",
    "dữ liệu": {
        "config": "dbport=1234\ndcname=sfsdf\ndbssl=false\nlocktime=300\ndomainuser="
    },
    "loại": "Bản đồ cấu hình",
    ...

$ kubectl lấy cm dev-database-configmap -o json
{
    "apiVersion": "v1",
    "dữ liệu": {
        "config": "dbport=156767\r\ndcname=dfsd\r\ndbssl=false\r\nlocktime=300\r\ndomainuser=somedts"
    },
    "loại": "Bản đồ cấu hình",
    ...

Có một câu trả lời trên StackOverflow sẽ nhanh chóng hiển thị sự khác biệt giữa \n , \r và \r\n.

Wytrzymały Wiktor avatar
lá cờ it
Xin chào @SaraJune. Đ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.