- Đăng vào
Dùng Ansible để cài đặt và thiết lập Bare metal Kubernetes cluster
Trước đây mình cũng đã có một bài viết hướng dẫn cài đặt và thiết lập Kubernetes cluster một cách thủ công. Tức là bạn phải copy các dòng lệnh lặp đi lặp lại cho từng node, điều này khá mất thời gian. Vì vậy, hôm nay mình viết bài này nhằm giới thiệu việc sử dụng Ansile để tự động hóa quá trình cài đặt và thiết lập Bare metal Kubernetes cluster.
Trong Ansible playbook này bên cạnh thiết lập một cluster đơn giản, nó còn cài đặt và thiết lập sẵn một vài công cụ phổ biến cho cluster của bạn:
- Ingress NGINX Controller
- MetalLB
- Cert-Manager:
- Calico:
Cấu hình
Một số parameter cơ bản
kubernetes:
config: "/home/{{ ansible_user }}/.kube"
CIDR: "10.244.0.0/16"
calico:
version: "v3.26.4"
metallb:
addresses: 192.168.1.50/32 # 192.168.1.50
version: "v0.13.12"
ingress_nginx:
version: "v1.9.4"
provider: "cloud"
cert_manager:
version: "v1.13.3"
letsencrypt:
email: your-email@gmail.com
nfs:
whitelist_ips: 192.168.1.0/27 # Ips allow access to NFS server 192.168.1.0 -> 192.168.1.31
Lưu ý: Phần metalLB, chúng ta phải chọn 1 IP trống trong subnet của Kubernetes cluster.
Inventory
Trong file này chưa thông tin kết nối đến các server sẽ cài đặt. Trong ví dụ này sử dụng 1 master và 2 worker node.
[masters:vars]
ansible_user=anh
ansible_port=22
[masters]
master ansible_host=192.168.1.10
[workers:vars]
ansible_user=anh
ansible_port=22
[workers]
worker-1 ansible_host=192.168.1.11
worker-2 ansible_host=192.168.1.12
[nfs-servers]
nfs-servers-1 ansible_host=192.168.1.11
nfs-servers-2 ansible_host=192.168.1.12
Toàn bộ source code có thể tìm thấy Tại đây
Video hướng dẫn
Chúc thành công,
ANH NGUYỄN