Chuyển tới nội dung chính

Backup và Restore Elasticsearch snapshot với AWS S3 trong Kubernetes

· 5 phút để đọc
ManhPT
Just another developer!

TL;DR

Nội dung bài viết dành cho elasticsearch và kibana 7.x.

Vấn đề là...

Ở công ty mình vừa có mấy task devops liên quan đến scaling, clustering Elasticsearch nên viết lại đề phòng sau này cần dùng. Có một task là chuyển dữ liệu từ single-node Elasticsearch cũ lên cluster mới. Single-node Elasticsearch cũ nằm trên một máy chủ ảo (VM) riêng và deploy bằng docker-compose. Cluster Elasticsearch mới thì được deploy với Helm trong Kubernetes và trên một cụm VM khác.

Tăng dung lượng phân vùng ổ cứng trên linux

· 4 phút để đọc
ManhPT
Just another developer!

Trên các hệ thống hạ tầng cloud, sau khi sizing (bổ sung dung lượng) ổ đĩa ảo (volume), ta cần phải thực hiện thêm một vài lệnh đặc thù trên từng phân vùng ổ đĩa (partition) để hệ thống thực sự nhận diện được dung lượng mới thêm.

Chú ý: Trước khi cập nhật dụng lượng trên ổ đĩa có chứa dữ liệu quan trọng thì ta nên backup dữ liệu hoặc tạo snapshot cho ổ đĩa đó trên các hệ thống cloud mà có hỗ trợ tính năng snapshot.

Cách đổi hostname trên Ubuntu 18.04

· 4 phút để đọc
ManhPT
Just another developer!

Vấn đề là...

Bài viết này hướng dẫn nhanh cách thay đổi hostname trên Ubuntu 18.04.

Hostname thường được thiết lập khi bạn cài đặt hệ điều hành hoặc khởi tạo một máy chủ ảo (VM) thì nó sẽ được gán tự động. Cách thay đổi hostname dưới đây có thể áp dụng mà không cần phải khởi động lại hệ điều hành.

Mặc dù hướng dẫn dành cho Ubuntu 18.04 nhưng bạn có thể áp dụng nó cho Ubuntu 16.04 hoặc bất kỳ hệ điều hành nào base trên Ubuntu, VD: Linux Mint, Elementary OS và thậm chí cả ViettelOS.

Thay đổi IP/DNS trên Ubuntu Desktop sử dụng Terminal

· 2 phút để đọc
ManhPT
Just another developer!

Vấn đề là...

Ubuntu là một trong những distro phổ biến nhất của Linux. Ngoài Ubuntu Server thì Ubuntu Desktop cũng được anh em developer sử dụng rất nhiều. Do tính chất dễ sử dụng và ổn định nên team dự án của mình hiện tại đang sử dụng Ubuntu Desktop cho những máy trạm (workstation) đặt tại địa điểm, văn phòng của đối tác.

Thực trạng này đôi khi phát sinh yêu cầu phải thay đổi local IP và DNS của máy trạm cho phù hợp với địa điểm triển khai. Tuy nhiên, các máy trạm này lại không được kết nối màn hình mà chỉ được duy trì kết nối internet và kết nối từ xa qua Anydesk.

Để thực hiện yêu cầu thay đổi IP/DNS của máy trạm, team phát triển chỉ có thể thao tác thông qua Terminal sau khi forward và kết nối đến SSH port của máy trạm từ máy làm việc. Việc forward và kết nối SSH đến máy trạm qua Anydesk sẽ nằm trong bài viết khác.

Quản trị Kubernetes cluster với Lens

· 3 phút để đọc
ManhPT
Just another developer!

Lens là một phần mềm nguồn mở cung cấp giao diện thân thiện để làm việc với nhiều kubernetes cluster

Khi khối lượng công việc được chuyển lên môi trường container (cụ thể là docker) ngày một nhiều, việc quản lý một số lượng lớn container và kết nối giữa chúng trở lên khó khăn hơn.

Khi quy mô và độ phức tạp của môi trường container tăng lên vượt quá khả năng quản lý bởi sức người, các nền tảng quản lý cấp phát container như Kubernetes ngày càng trở nên quan trọng.

Tuy nhiên, các nền tảng như vậy cũng đi liền với những thách thức đòi hỏi các thông số, khả năng giám sát và mức độ thân thiện với người dùng để diễn tả mức độ phức tạp của chúng.

Apply HTTPS cho ingress-nginx sử dụng cert-manager

· 4 phút để đọc
ManhPT
Just another developer!

Hướng dẫn cài đặt và cấu hình cert-manager cho website sử dụng ingress-nginx với letsencrypt. Bạn có thể tham khảo tài liệu chính thống về cert-manager tại đây: https://cert-manager.io/docs/.

Kể từ ngày 24/07/2018, Google release Chrome 68 có tính năng đánh dấu các trang web không dùng HTTPS là “Không an toàn” nhằm xây dựng trình duyệt an toàn hơn. Việc này đã diễn ra trong vòng 1 năm. Hiện tại, Microsoft Edge (Chromium) vẫn đang duy trì điều này. Điều này khiến việc triển khai HTTPS cho website của bạn trở thành một yêu cầu bắt buộc.

Trong bài viết này, mình sẽ hướng dẫn cấu hình cert-manager cho nginx-ingress để tự động hóa hoàn toàn việc issue và renew chứng chỉ https cho website của bạn hoàn toàn miễn phí. Tất nhiên bài viết này chỉ áp dụng cho hệ thống sử dụng kubernetes. Trong thời điểm viết bài thì mình sử dụng K3S. Bạn có thể tham khảo cách cài đặt K3S tại đây.

Các thủ thuật cấu hình khi cài đặt K3S

· 3 phút để đọc
ManhPT
Just another developer!

K3S là một phiên bản nhỏ và nhẹ của Kubernetes mà bạn có thể sử dụng trên rất nhiều môi trường thiết bị khác nhau. Bài viết này không nhằm mục đích giới thiệu K3S nên các bạn có thể tìm hiểu thêm về K3S tại đây https://k3s.io/ hoặc https://github.com/rancher/k3s/blob/master/README.md trước khi đọc tiếp.

Để có thể cài đặt và sử dụng K3S thì các bạn cũng nên tham khảo yêu cầu hệ thống của K3S trước tại: https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/. Nếu bạn đã chuẩn bị đầy đủ môi trường theo đúng yêu cầu của K3S thì bắt đầu thôi.

Cách cài đặt và sử dụng cùng lúc nhiều version nodejs trên windows

· 4 phút để đọc
ManhPT
Just another developer!

Chuyển từ MacOS hay Ubuntu về sử dụng Windows

Mình gần như đã từng là fan của Apple khi mà sử dụng iPhone, Macbook cho cuộc sống và công việc. Việc cho phép cài đặt phần mềm qua dòng lệnh khá là lý tưởng với một developer như mình.

Ngoài ra, ngày còn khờ dại, đọc được thông tin đâu đó về việc NodeJs được tạo ra trên MacOS đã khiến mình quyết định mua chiếc Macbook đầu tiên - mình là một NodeJS Developer.