Tôi có dự án sau đây mà tôi sử dụng để tạo cụm Kubernetes của riêng mình trên máy cục bộ (macOS) thông qua KubeAdm: https://github.com/sasadangelo/k8s-cluster
Về cơ bản, tôi bắt đầu từ đây dự định và đã thực hiện cập nhật sau:
- Định cấu hình triển khai Vagrant qua tệp YAML.
- Hỗ trợ API K8s 1.6, K8s 1.18 và Calico 3.8.8
- Triển khai bảng điều khiển K8s tự động.
Bây giờ tôi ổn với cụm này nhưng tôi có một số vấn đề về DNS mà tôi muốn biết cách giải quyết. Tool dùng 1 file Vagrant để khởi động 3 box Vagrant thì mình chủ yếu dùng 3 script:
- configure_box.sh, mình hay cài vào mỗi box các phần mềm cần thiết như docker, kubeadm, kubelet, kubectl, v.v.
- configure_master.sh, được sử dụng để chỉ định cấu hình nút chính, cài đặt plugin mạng và chạy
khởi tạo kubeadm
.
- configure_worker.sh, được sử dụng để định cấu hình nút worker tham gia cụm.
vấn đề của tôi là độ phân giải.conf
trong số Pods của tôi trông như thế này:
máy chủ tên 10.96.0.10
tìm kiếm default.svc.cluster.local svc.cluster.local cluster.local <tên miền khác đến từ máy chủ>
tùy chọn ndots:5
Tập tin này có hai vấn đề:
- không cho phép tôi truy cập Internet. Trên thực tế, tôi phải thêm thủ công thêm dòng này vào đầu tệp:
máy chủ định danh 8.8.8.8
và xóa nó khi không cần thiết nữa (nếu tôi giữ nó thì DNS nội bộ không hoạt động)
- trong mệnh đề tìm kiếm có các miền đến từ máy chủ của tôi:
<other domain coming from host machine>
mà gây ra vấn đề.
Tôi đã đọc rất nhiều tài liệu nhưng tôi vẫn gặp khó khăn khi tìm cách thay đổi mã của mình để tránh hai vấn đề này.