ภาพรวมการบริการ
- ผู้ใช้ระบบ:
etcd - ชื่อโหนดเริ่มต้น: สร้างอัตโนมัติ
etcd-<timestamp> - ไฟล์กำหนดค่า:
/etc/etcd/etcd.yml - ไดเรกทอรีข้อมูล:
/var/lib/etcd - ไบนารี:
/usr/local/bin/etcd,/usr/local/bin/etcdctl, และ/usr/local/bin/etcdutl - ระดับบันทึก:
debug
เครือข่ายและพอร์ต
- ปริมาณการใช้งานของลูกค้า:
http://localhost:2379 - การเข้าชมเพียร์:
http://localhost:2380 - การเข้าถึงเฉพาะที่โดยค่าเริ่มต้นเท่านั้น (เชื่อมโยงกับ localhost)
การจัดการระบบ
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
คำสั่งพื้นฐาน
# 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
สำรองและกู้คืน
สำรองสแนปชอต (บันทึกสถานะ ฯลฯ ปัจจุบันลงในไฟล์):
etcdctl snapshot save /root/etcd-backup.db
ตรวจสอบสถานะสแนปชอต:
etcdutl snapshot status /root/etcd-backup.db -w table
หยุดบริการ etcd เพื่อหลีกเลี่ยงข้อขัดแย้ง:
systemctl stop etcd
ลบเนื้อหาที่มีอยู่ของไดเร็กทอรีข้อมูล:
rm -rf /var/lib/etcd/*
คืนค่าสแนปชอต:
etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd
ตรวจสอบให้แน่ใจว่าการอนุญาตถูกต้อง:
chown -R etcd:etcd /var/lib/etcd
เริ่มบริการ ฯลฯ อีกครั้ง:
systemctl start etcd
หมายเหตุ
- คลัสเตอร์โหนดเดียวตามค่าเริ่มต้น เหมาะสำหรับการพัฒนา/การทดสอบ
- กำหนดค่าด้วยระดับบันทึกการแก้ไขข้อบกพร่อง
- สำหรับการผลิต ให้เปิดใช้งาน TLS สำหรับไคลเอ็นต์และการสื่อสารแบบเพียร์
- พิจารณาตั้งค่าคลัสเตอร์แบบหลายโหนดเพื่อความพร้อมใช้งานสูง
- จำกัดพอร์ต 2379 (ไคลเอนต์) และ 2380 (เพียร์) สำหรับโฮสต์ที่เชื่อถือได้โดยใช้กฎไฟร์วอลล์
- แก้ไข
/etc/etcd/etcd.ymlสำหรับการกำหนดค่าขั้นสูงและรีสตาร์ทetcdบริการเพื่อใช้การเปลี่ยนแปลง - สำรองข้อมูลทุกครั้งก่อนดำเนินการทำลายล้าง (ลบ/กู้คืน/กระชับ)
- ทำให้มั่นใจ
/var/lib/etcdเป็นเจ้าของโดยetcd:etcd; การอนุญาตที่ไม่ถูกต้องสามารถป้องกันไม่ให้ ฯลฯ เริ่มทำงานหลังจากการคืนค่าหรือการเปลี่ยนแปลงข้อมูล