Blog
Thoughts on engineering, design, and building great products.
Module và Idempotency
Deep-dive: module hoạt động bên trong thế nào để đạt idempotency — đọc trạng thái hiện tại, so với mong muốn, chỉ thay đổi phần khác biệt rồi báo changed. Vì sao command/shell không idempotent, check mode, và tour các module hay dùng.
Playbook: Cấu Trúc và Task
Playbook là trái tim của Ansible — file YAML mô tả trạng thái mong muốn. Bài này: cấu trúc play và task, viết và chạy playbook đầu tiên cài một web server, đọc PLAY RECAP, FQCN, và chế độ check (dry-run).
Inventory: Tĩnh, Động, Nhóm và Biến
Inventory là nơi Ansible biết quản lý máy nào. Bài này: viết inventory tĩnh (INI/YAML), gom host thành nhóm và nhóm lồng nhau, gán biến qua group_vars/host_vars, nhắm mục tiêu bằng pattern, và inventory động cho cloud.
Cài Đặt và Lệnh Ad-hoc Đầu Tiên
Dựng control node (cài Ansible), chuẩn bị một host để quản lý, viết file cấu hình và inventory, rồi chạy các lệnh ad-hoc đầu tiên: ping, command, shell, setup, và become để chạy với quyền root.
Kiến Trúc Ansible: Control Node, Inventory, Module và SSH
Deep-dive kiến trúc Ansible: control node, managed node, inventory, module. Và chính xác chuyện gì xảy ra khi bạn chạy một lệnh — Ansible đóng gói module, ship qua SSH lên host, chạy bằng Python ở đó, nhận JSON về. Quan sát thật bằng -vvv.
Ansible Là Gì và Vì Sao Nên Dùng
Mở đầu series: vấn đề quản lý cấu hình mà Ansible giải quyết, vì sao 'agentless' và 'idempotent' là hai từ khóa quan trọng nhất, các khái niệm cốt lõi (control node, inventory, playbook, module, role), và lộ trình từ cơ bản tới viết module riêng.
Mạng Hoạt Động Thế Nào: Chuyện Gì Xảy Ra Khi Bạn Mở Một Trang Web
Mở đầu series: lần theo hành trình của một request khi bạn gõ một địa chỉ web — từ phân giải DNS, bắt tay TCP, mã hóa TLS, tới HTTP và phản hồi. Mỗi chặng là một bài phía sau, ghép lại thành bức tranh mạng hoàn chỉnh.