Điểm:1

Làm cách nào để định cấu hình DNS cho Dịch vụ và Nhóm trong Kubernetes?

lá cờ ru

tôi đã trải qua tài liệu k8s trên DNS cho Dịch vụ và Nhóm.Nhiệm vụ chính mà tôi muốn giải quyết là việc triển khai K8s của tôi đã Nút Cổng như loại dịch vụ. Có nghĩa là, tôi sử dụng các địa chỉ IP bên ngoài từ các nút để đưa dịch vụ ra Internet. Khi tôi thực hiện việc này, địa chỉ IP của tôi sẽ bị lộ và tôi muốn có tên máy chủ hơn [ tên DNS ]. Xem qua tài liệu được liên kết ở trên, tôi không hiểu nhiều khái niệm do thực tế là tôi chưa quen với K8.

Tôi đã thiết lập Ingress Controller từ NGINX cho Bare Metal K8s vì nhà cung cấp dịch vụ đám mây của tôi không cung cấp dịch vụ cân bằng tải.

Vì vậy, câu hỏi của tôi là: Làm cách nào để thiết lập một ExternalDNS trong cụm K8 của tôi?

Đối với mục đích tham khảo, đây là những tài nguyên của tôi trong cụm K8s.

không gian tên
TÊN TÌNH TRẠNG TUỔI
mặc định Hoạt động 3d12h
ingress-nginx Đang hoạt động 5h53 phút
kube-node-thuê Hoạt động 3d12h
kube-public Active 3d12h
hệ thống kube Hoạt động 3d12h

Về cơ bản, tôi có tất cả các triển khai của mình bên trong mặc định không gian tên.

kubectl lấy tất cả -n mặc định

 TÊN TÌNH TRẠNG SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI
pod/hello-docker-cc749b757-qfctr 1/1 Đang chạy 0 70m

TÊN LOẠI CLUSTER-IP (CỔNG IP NGOÀI) TUỔI
dịch vụ/hello-docker NodePort 10.xxx.xxx.xxx <không có> 3000:30072/TCP 70m
dịch vụ/kubernetes ClusterIP 10.xxx.xxx.xxx <không có> 443/TCP 3d12h

TÊN SẴN SÀNG CẬP NHẬT TUỔI CÓ SẴN
triển khai.apps/hello-docker 1/1 1 1 70m

TÊN MONG MUỐN TUỔI SẴN SÀNG HIỆN TẠI
replicaset.apps/hello-docker-cc749b757 1 1 1 70m

Và đây là tệp kê khai tôi có để phục vụ và triển khai xin chào-docker ứng dụng:

phiên bản api: v1
loại: Dịch vụ
metadata: 
 tên: xin chào-docker 
 nhãn:   
   ứng dụng: hello-docker
thông số kỹ thuật: 
 loại: NútPort
 cổng:
 - cổng: 3000
   cổng mục tiêu: 8000
   giao thức: TCP
   tên: http
 bộ chọn:
   ứng dụng: hello-docker

---
apiVersion: ứng dụng/v1
loại: Triển khai
metadata:
  tên: xin chào-docker
  nhãn:
    ứng dụng: hello-docker
thông số kỹ thuật:
  bản sao: 1
  bộ chọn:
    trận đấuNhãn:
      ứng dụng: hello-docker
  mẫu:
    metadata:
      nhãn:
        ứng dụng: hello-docker
    thông số kỹ thuật:
      imagePullSecrets:
      - tên: regcred
      hộp đựng:
      - tên: xin chào-docker
        hình ảnh: sebastian/hello-docker:1.1
        imagePullPolicy: Luôn luôn
        cổng:
          - Cảng container: 8000 

Mọi phản hồi và đề xuất sẽ được đánh giá cao.

Mikolaj S. avatar
lá cờ cn
Bạn đã sử dụng phiên bản Kubernetes nào? Bạn đã sử dụng cài đặt kim loại trần hoặc một số nhà cung cấp đám mây?
Sebastian avatar
lá cờ ru
@MikolajS. Tôi đã sử dụng từ một nhà cung cấp đám mây. Họ có hướng dẫn thiết lập K8 ban đầu với Ansible và Terraform nhưng không có dịch vụ LB. Đối với phiên bản, nó là v1.21
Mikolaj S. avatar
lá cờ cn
Bạn đã có sẵn nút IP chưa và muốn viết một tên miền - nếu vậy bạn nên làm điều đó bên ngoài kubernetes - tùy thuộc vào nhà cung cấp dịch vụ của bạn - ví dụ: [Amazon Route 53](https://aws.amazon.com/route53/) .
Wytrzymały Wiktor avatar
lá cờ it
Xin chào @Sebastian. Bất cứ cập nhật?
Sebastian avatar
lá cờ ru
@WytrzymaÅyWiktor, thực ra chẳng có gì thú vị cả. Để làm cho nó hoạt động, tôi đã thiết lập Đường hầm Cloudflare (còn gọi là Đường hầm Argo) để định tuyến lưu lượng thông qua bộ điều khiển xâm nhập. Đường hầm cần được duy trì hoạt động, vì vậy tôi đã tạo đường hầm để chạy qua một phiên bản máy ảo trên đám mây. Bây giờ, vấn đề là tôi có thể truy cập tên máy chủ DNS của mình nhưng không thể ngăn truy cập IP trực tiếp.
kkopczak avatar
lá cờ ng
Nếu bạn làm cho nó hoạt động, hãy xem xét thêm giải pháp của bạn làm câu trả lời và tạo câu hỏi mới với vấn đề hiện tại.
Điểm:1
lá cờ ru

Tôi đã thực hiện công việc này bằng cách tạo Đường hầm Cloudflare (trước đây gọi là Đường hầm Argo). Có thể tìm thấy tài liệu cấu hình hoàn chỉnh trên đường hầm đây. Tôi hy vọng ai đó có vấn đề tương tự thấy điều này hữu ích.

Đă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.