Tổng Quan Dịch Vụ
- Người dùng hệ thống
etcd - Tên node mặc định: tự động tạo
etcd-<timestamp> - Tệp cấu hình:
/etc/etcd/etcd.yml - Thư mục dữ liệu:
/var/lib/etcd - Các tệp nhị phân:
/usr/local/bin/etcd,/usr/local/bin/etcdctl, và/usr/local/bin/etcdutl - Mức độ ghi nhật ký:
debug
Mạng & Cổng
- Lưu lượng truy cập khách hàng:
http://localhost:2379 - Lưu lượng ngang hàng:
http://localhost:2380 - Mặc định chỉ cho phép truy cập nội bộ (bind vào localhost)
Quản lý Systemd
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
Các lệnh cơ bản
# Check etcd server version
etcd --version
# Check etcdctl client version
etcdctl version
# Check etcdutl version
etcdutl version
# Set a key
etcdctl put mykey "HelloEtcd"
# Get a key
etcdctl get mykey
# List all keys with values
etcdctl get "" --prefix
# List only key names
etcdctl get "" --prefix --keys-only
# Delete a key
etcdctl del mykey
# Check cluster health
etcdctl endpoint health
# List cluster members
etcdctl --endpoints=http://127.0.0.1:2379 member list
# Show cluster leader
etcdctl endpoint status --write-out=table
# Watch a key for changes
etcdctl watch mykey
Sao lưu và Khôi phục
Sao lưu snapshot (lưu trạng thái hiện tại của etcd ra file):
etcdctl snapshot save /root/etcd-backup.db
Kiểm tra trạng thái snapshot:
etcdutl snapshot status /root/etcd-backup.db -w table
Dừng dịch vụ etcd để tránh xung đột:
systemctl stop etcd
Xóa toàn bộ nội dung trong thư mục dữ liệu:
rm -rf /var/lib/etcd/*
Khôi phục snapshot:
etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd
Kiểm tra và đảm bảo phân quyền chính xác:
chown -R etcd:etcd /var/lib/etcd
Khởi động lại dịch vụ etcd:
systemctl start etcd
Ghi chú
- Mặc định chạy cluster đơn node, phù hợp cho môi trường phát triển và kiểm thử.
- Được cấu hình với log-level debug.
- Trên môi trường production, hãy bật TLS cho giao tiếp client và peer.
- Cân nhắc thiết lập cluster đa node để đảm bảo tính sẵn sàng cao.
- Giới hạn cổng 2379 (client) và 2380 (peer) chỉ cho phép các host tin cậy bằng cách sử dụng firewall rules.
- Sửa đổi
/etc/etcd/etcd.ymlđể cấu hình nâng cao và khởi động lạietcddịch vụ để áp dụng thay đổi. - Luôn sao lưu dữ liệu trước khi thực hiện các thao tác có thể gây mất dữ liệu (xóa/khôi phục/nén).
- Đảm bảo
/var/lib/etcdđược sở hữu bởietcd:etcd; phân quyền không đúng có thể khiến etcd không khởi động được sau khi khôi phục hoặc thay đổi dữ liệu.