Skip to main content

Posts

Showing posts from 2021

Dùng kubernetes không phức tạp hơn việc thường ngày của sysadmin

Bài viết dành cho các sysadmin/DevOps: Những người nghe nói đến K8S và các lời chê về sự phức tạp của nó Những người định học dùng K8S mà ngại nhiều khái niệm mới. Những người có kiến thức về các hệ thống trước "thời" Kubernetes (K8S), giúp kết nối các khái niệm, hiểu lý do tại sao K8S lại phức tạp đến thế. Để dùng K8S, người dùng sẽ gặp phải một loạt các khái niệm: pod deployment rollout replicaset daemonset service configmap secret namespace resourcequota persistentVolume PersistentVolumeClaim Sau đó các khái niệm ngoài K8S, các tool dùng với K8S như: helm/chart ... tất cả các khái niệm này đều không mới, chỉ là các tên mới dành cho hệ thống dùng container, tương đương với các khái niệm/kiến thức khi quản trị một hệ thống server truyền thống (máy ảo/máy vật lý). Pod Pod là đơn vị nhỏ nhất được quản lý trong K8S. Pod là một hoặc nhiều container cùng bật cùng tắt, cùng chung IP, cùng chung ổ cứng. Vì mỗi container thường là một 1 process, nên nế...

Dualboot Ubuntu 20.04 and OpenBSD 6.9

I dualboot OpenBSD with Ubuntu on both my laptop and desktop. They both work even I did two different ways to config multi-boot. Install Ubuntu Need to install Ubuntu first, use its disk tool to pre-create a partition for OpenBSD, just an empty partition. As new machine nowaday using UEFI instead of BIOS, when installing Ubuntu, it is going to create a partition for EFI, mounted as /boot/efi. This mounted as type vfat on my machine. Install Ubuntu as normal. When done, install OpenBSD. Install OpenBSD When see fdisk to do fdisk partition, choose manual, leave out the partition installed Ubuntu. Create 1 MBR partition for OpenBSD, set as type a6 (OpenBSD). Then quit fdisk, it moves to disklabel parition, use what disk layout you want or just let it Auto. Then do the rest til done. Config to boot OpenBSD After installed OpenBSD, reboot, you would still see Ubuntu Grub, boot into Ubuntu, then follow one of these two ways: Using Grub NOTE: this works for both BIOS and UEFI. ...

Gửi tặng tác giả 1 cốc cà phê/bia

Sự ủng hộ của các bạn không làm tác giả trở nên giàu, nhưng sẽ là động lực không nhỏ để tiếp tục viết nhiều bài hay hơn 😚

Các combo câu lệnh CLI từ năm 2021

Sau hơn 10 năm dùng Ubuntu/OSX/OpenBSD, các combo câu lệnh mình sử dụng đã có nhiều thay đổi, bài này sẽ cập nhật các combo hay dùng nhất: ls ls -la vốn là combo ưa thích, thì ngày nay, tay đã quen với 2 combo khác: ls -Fhtl hiển thị file và sắp xếp theo file mới nhất ở trên đầu ls -lFS hiển thị file theo size giảm dần (dễ nhớ: LinuxFromScratch ) free -m free là câu lệnh chỉ có trên Linux như Ubuntu, trên OSX và OpenBSD đều không có, vậy nên dùng top | head sẽ thay thế được cho lệnh free. Combo sau khi login vào 1 máy sẽ là: w; df -h; top | head grep Vẫn là combo grep -Rin pattern dir nhưng ngày nay mình đã thay grep bằng ripgrep nên thường chỉ gõ rg pattern dir ripgrep nhanh hơn grep nhiều lần, chú ý khi tìm file "ẩn"/ignored . curl curl vốn phổ biến như 1 CLI HTTP client tiện dùng khi dev, nhưng curl không có sẵn ở nhiều nơi như wget (ubuntu, busybox mặc định, trong các Alpine based container). $ curl -L -o elm.gz https://github.com/elm/compiler/rele...

Cấu hình chuột/phím Logitech với USB receiver/dongle

Ngày nay, những bộ chuột phím không dây dần trở nên phổ biến, với 2 loại kết nối: bluetooth và wireless. Chuột, phím bluetooth/không dây(wireless) kết nối bluetooth sử dụng... bluetooth. kết nối wireless sử dụng 1 thiết bị nhỏ cắm vào cổng USB, gọi là wireless USB receiver (đầu thu không dây). Khi bán các thiết bị chuột, bàn phím, cục USB receiver này thường đi kèm sẵn, khiến ta có thể lầm tưởng nó chỉ hoạt động được với thiết bị đi kèm, và mất cục nhỏ xíu đó là... tèo. Thử tưởng tượng nhà sản xuất Logitech mỗi ngày sản xuất hàng ngàn con chuột máy tính ở 1 nhà máy, hàng ngàn USB receiver tại 1 nhà máy khác xa hàng ngàn cây số, làm sao để đảm bảo chúng khớp 1-1? Bởi vì chúng không cần! đảm bảo điều nói trên giống như ốc và vít phải sản xuất từng cặp vậy. USB receiver có thể cấu hình lại và "pair" với các thiết bị khác nhau. Cấu hình USB receiver Một USB receiver hiện đại (2020), của Logitech sử dụng công nghệ "Unifying" có thể pair 1 lúc 6 thiết bị kh...

Run Unbound DNS resolver on OpenBSD 6.8 on a Laptop

OpenBSD 6.8 comes with default installed Unbound daemon. Using Unbound, you would not longer depends on other DNS provider, keep what domain you access to yourself. Enable and start unbound # rcctl enable unbound # rcctl start unbound It now listens on port 53, on localhost address - good, sane default: $ netstat -nl | grep 53 tcp 0 0 127.0.0.1.53 *.* LISTEN udp 0 0 127.0.0.1.53 *.* tcp6 0 0 ::1.53 *.* LISTEN udp6 0 0 ::1.53 *.* Now check using dig : $ dig pymi.vn @127.0.0.1 ; <<>> dig 9.10.8-P1 <<>> pymi.vn @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7832 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;pymi.vn. IN ...

Cài đặt và chạy máy ảo Alpine Linux 3.13

Alpine linux là 1 linux distro bỗng chợt phổ biến nhờ Docker. Lý do chính Alpine Linux được dùng là vì nó nhẹ (về dung lượng), nên thích hợp cho việc build docker image, tạo docker image có size nhỏ hơn so với các distro phổ biến như Ubuntu, Debian... . Nhưng nó vốn là một Linux distro như mọi distro khác, vậy nên dùng để tạo máy ảo là chuyện hoàn toàn bình thường. Bài viết này giới thiệu cách tạo 1 môi trường dev Python trên máy ảo chạy Alpine Linux: Tải file iso tối ưu cho virtual machine từ trang AlpineLinux.org Ví dụ ở đây tải URL sau - bản mới nhất tại thời điểm viết bài - 3.13 https://dl-cdn.alpinelinux.org/alpine/v3.13/releases/x86_64/alpine-virt-3.13.2-x86_64.iso File ISO này chỉ nặng có 41 MB: $ ls -lh /home/hvn/Downloads/alpine*.iso -rw-r--r-- 1 hvn hvn 41.0M Feb 20 10:16 /home/hvn/Downloads/alpine-virt-3.13.2-x86_64.iso Tạo máy ảo, chọn đĩa ISO này và bật máy ảo lên, bộ cài đặt bằng dòng lệnh của Alpine rất đơn giản, chỉ cần gõ alpine-setup rồi enter liên tục ch...

Cài đặt và chạy máy ảo OpenBSD 6.8 trên VirtualBox 6.0

Nếu vì một lý do gì bạn không dùng vagrant (không tin tưởng người build vagrant box chẳng hạn), việc tạo máy ảo OpenBSD trên VirtualBox không có gì phức tạp, nhưng cần chút chú ý. Tải file installXX.iso OpenBSD mới nhất Truy cập https://www.openbsd.org/faq/faq4.html#Download rồi tìm tới file installXX.iso, chọn architecture phù hợp, thường là amd64 . Chú ý là file .iso để tạo đĩa CD/cài máy ảo. File .img là dùng để tạo USB. Tạo máy ảo mới trên VirtualBox New > BSD > OpenBSD 64 bits Continue > Continue .... > Create Trước khi bật máy ảo lên, chọn Settings > Storage > Chọn hình đĩa CD rồi chọn tới file ISO vừa tải. QUAN TRỌNG: chọn Audio > bỏ tick "Enable audio" đi, nếu không, VirtualBox sẽ full CPU sau khi sleep mặc dù xem trên OpenBSD thì không thấy dùng CPU. Settings > Network > Adapter 1 > NAT > Port forwarding, thêm một dòng mới, chọn host port là 1 số từ 2222 đến 22XX, Guest Port là 22. Cài OpenBSD Bật máy ảo lên, Install...

Vagrant ssh (với VirtualBox backend) hoạt động thế nào?

Vagrant là công cụ tuyệt vời để tạo máy ảo, với 3 câu lệnh, ta đã chui vào máy ảo mới tạo: vagrant init vagrant up vagrant ssh Bên dưới có rất nhiều "magic" xảy ra, đó là những giá trị mà Vagrant mang lại thay vì tạo máy ào bằng tay với VirtualBox/VMWare/KVM... Vagrant ssh là câu lệnh thú vị và bất ngờ khi tìm hiểu: kết nối mạng từ máy thật (host) vào máy ảo (guest) như thế nào. Test với máy ảo chạy fedora, không chỉnh sửa config gì sau khi vagrant init ngoài box: config.vm.box = "fedora/33-cloud-base" config.vm.box_version = "33.20201019.0" Bật debug Cách đơn giản để tìm hiểu 1 phần mềm bất kỳ là bật chế độ logging debug/verbose lên, vagrant không là ngoại lệ. VAGRANT_LOG=info vagrant ssh có các chế độ log nhiều hơn như VAGRANT_LOG=debug nhưng với info cũng đã đủ rồi: $ VAGRANT_LOG=info vagrant ssh INFO global: Vagrant version: 2.2.6 INFO global: Ruby version: 2.4.9 INFO global: RubyGems version: 2.6.14.4 INFO vagrant: `vagrant` inv...

Chạy OpenBSD trên Laptop ASUS ZenBook 14 2021

## Giới thiệu - Quảng cáo OpenBSD là hệ điều hành lừng danh về chuyện "bảo mật" nhất trái đất. Trong suốt hơn 25 năm, chỉ có 2 lỗ hổng lớn xảy ra. Khi các hệ điều hành khác chạy theo tính năng, thì OpenBSD tập trung vào: security (bảo mật), và code đơn giản, chính xác. Bảo mật không phải lý do duy nhất, OpenBSD vốn nổi tiếng với việc hệ thống đơn giản (không dùng Systemd), tài liệu (manpage) đầy đủ, dễ đọc, dễ hiểu. Để thấy rõ hơn sự kiên quyết của OpenBSD đối với bảo mật ra sao, đây là vài gạch đầu dòng:  - Sau lỗ hổng bảo mật to nhất nhì thập kỷ của Intel mang tên Spectre, OpenBSD quyết định tắt tính năng Hyper-threading đi https://www.mail-archive.com/source-changes@openbsd.org/msg99141.html

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG