Cách cấu hình Lãnh sự trong Môi trường Sản xuất trên Ubuntu 14.04
Consul là một hệ thống phân tán, có tính khả dụng cao, nhận biết trung tâm dữ liệu, hệ thống phát hiện và cấu hình dịch vụ. Nó được dùng để trình bày các dịch vụ và nút trong một giao diện linh hoạt và mạnh mẽ cho phép khách hàng luôn có cái nhìn cập nhật về cơ sở hạ tầng mà họ là một phần của nó.Lãnh sự cung cấp nhiều tính năng khác nhau được sử dụng để cung cấp thông tin nhất quán và sẵn có về cơ sở hạ tầng của bạn. Điều này bao gồm cơ chế phát hiện dịch vụ và nút, hệ thống gắn thẻ, kiểm tra sức khỏe, quy trình bầu cử dựa trên sự đồng thuận, lưu trữ khóa / giá trị trên toàn hệ thống, v.v. Bằng cách tận dụng lãnh sự trong tổ chức của bạn , bạn có thể dễ dàng xây dựng mức độ nhận biết tinh vi đối với các ứng dụng và dịch vụ của bạn .
Trong hướng dẫn cuối cùng của ta , ta đã trình bày nhanh một số chức năng của lãnh sự. Trong hướng dẫn này, ta sẽ bắt đầu tạo cấu hình lãnh sự sẵn sàng production được dùng để bắt đầu triển khai khám phá dịch vụ cho cơ sở hạ tầng của bạn.
Yêu cầu và Mục tiêu
Trong loạt bài này, ta sẽ cài đặt một hệ thống các server có thể giao tiếp với nhau và duy trì thông tin dịch vụ, group lưu trữ khóa / giá trị và các chi tiết khác cho các client . Các bước đầu tiên để chuẩn bị production hệ thống của ta sẽ diễn ra trong hướng dẫn này, khi ta cài đặt phần mềm và tự động hóa một số cấu hình của ta .
Tài liệu lãnh sự khuyên bạn nên có 3 hoặc 5 server lãnh sự chạy trong mỗi trung tâm dữ liệu để tránh mất dữ liệu trong trường hợp server bị lỗi. Server lãnh sự là thành phần thực hiện công việc nặng nhọc. Chúng lưu trữ thông tin về dịch vụ và thông tin chính / giá trị. Số lượng server lẻ là cần thiết để tránh các vấn đề bế tắc trong cuộc bầu cử.
Ngoài server lãnh sự, các máy khác có thể chạy server lãnh sự . Các đại lý lãnh sự rất nhẹ nhàng và chỉ cần chuyển tiếp các yêu cầu đến server . Họ cung cấp một phương pháp cách ly server của bạn và giảm bớt trách nhiệm biết địa chỉ của server cho chính các tác nhân.
Để ta triển khai một số cơ chế bảo mật trong hướng dẫn sau, ta cần đặt tên cho tất cả các máy của bạn trong một domain duy nhất. Điều này là để ta có thể phát hành certificate SSL ký tự đại diện sau này.
Chi tiết về máy của ta ở đây:
Tên server | Địa chỉ IP | Role |
---|---|---|
server1.example.com | 192.0.2.1 | server lãnh sự bootstrap |
server2.example.com | 192.0.2.2 | server lãnh sự |
server3.example.com | 192.0.2.3 | server lãnh sự |
agent1.example.com | 192.0.2.50 | khách hàng lãnh sự |
Ta sẽ sử dụng server Ubuntu 14.04 64-bit cho phần trình diễn này, nhưng bất kỳ server Linux hiện đại nào cũng hoạt động tốt như nhau. Khi cấu hình hoàn tất, bạn nên có sẵn một hệ thống cho phép bạn dễ dàng thêm các dịch vụ, kiểm tra và các node .
Đăng nhập vào máy của bạn với quyền là user root để hoàn thành các bước trong hướng dẫn này.
Download và Cài đặt Consul
Nếu bạn chưa cài đặt lãnh sự trong phần giới thiệu ban đầu về hướng dẫn lãnh sự , bạn sẽ phải làm điều đó ngay bây giờ. Ta sẽ cài đặt consul như một ứng dụng cấp hệ thống trên mỗi máy trong số bốn máy ta đang cấu hình .
Trước khi xem xét đơn xin lãnh sự, ta cần unzip
để extract file thực thi. Cập nhật cache ẩn gói hệ thống local và sau đó cài đặt gói bằng apt
:
apt-get update apt-get install unzip
Bây giờ, ta có thể bắt đầu chương trình lãnh sự. Trang của dự án lãnh sự cung cấp liên kết download các gói binary cho Windows, OS X và Linux.
Đi tới trang trên và nhấp chuột phải vào hệ điều hành và kiến trúc đại diện cho server của bạn. Trong hướng dẫn này, vì ta đang sử dụng server 64-bit, ta sẽ sử dụng liên kết “amd64” trong “linux”. Chọn “vị trí liên kết sao chép” hoặc bất kỳ tùy chọn tương tự nào mà trình duyệt của bạn cung cấp.
Trong terminal của bạn, hãy chuyển đến folder /usr/local/bin
, nơi ta sẽ giữ file thực thi. wget
và khoảng trắng, sau đó dán URL mà bạn đã sao chép từ trang web:
cd /usr/local/bin wget https://dl.bintray.com/mitchellh/consul/0.3.0_linux_amd64.zip
Bây giờ, ta có thể extract gói binary bằng lệnh unzip
mà ta đã cài đặt trước đó. Sau đó, ta có thể xóa file đã nén:
unzip *.zip rm *.zip
Đến đây bạn sẽ có sẵn lệnh consul
trên tất cả các server của bạn .
Tạo cấu trúc hệ thống và folder cần thiết
Ta có thể dễ dàng thử lãnh sự một cách phi cấu trúc bằng cách sử dụng lệnh consul
. Điều này sẽ cho phép bạn kiểm tra một số chức năng. Ta đã làm điều này trong hướng dẫn cuối cùng để làm quen với phần mềm.
Tuy nhiên, ta sẽ cố gắng cài đặt một hệ thống tin cậy hơn, dễ quản lý hơn, vì vậy ta sẽ tạo ra một số cấu trúc để làm cho công việc này. Hoàn thành các bước sau trên mỗi máy tính của bạn ( server và client ).
Điều đầu tiên ta nên quan tâm là tạo một user cụ thể cho nhiệm vụ của ta . Đây là trường hợp tiêu chuẩn về phân tách quyền của user , vì vậy ta sẽ điều hành các quy trình lãnh sự của bạn với một user chuyên dụng.
Tạo user ngay bây giờ bằng lệnh :
adduser consul
Bạn có thể bỏ qua tất cả các dấu nhắc (Bạn có thể cần đặt password . Nếu bạn muốn thì nó sẽ khiếu nại).
Tiếp theo, ta sẽ tạo cấu hình phân cấp sẽ chứa các cấu hình khác nhau mà ta sẽ sử dụng tùy thuộc vào cách ta muốn khởi động dịch vụ. Để dễ dàng thực hiện điều này, ta sẽ tạo một folder consul.d
trong cấu trúc config /etc
và đặt các folder con có tên là bootstrap
, server
và client
dưới đây trên mỗi hệ thống:
mkdir -p /etc/consul.d/{bootstrap,server,client}
Ta có thể đặt các cấu hình của ta trong mỗi cái sau. Mỗi server có thể sẽ sử dụng tối đa hai trong số các folder này, nhưng ta sẽ tạo cấu trúc cho sự nhất quán trên mỗi server .
Ta cũng cần tạo một vị trí để lãnh sự có thể lưu trữ dữ liệu liên tục giữa các lần khởi động lại. Ta sẽ tạo một folder tại /var/consul
cho mục đích này và cung cấp nó cho user consul
để họ có thể quản lý dữ liệu:
mkdir /var/consul chown consul:consul /var/consul
Với cấu trúc này, ta sẽ có thể bắt đầu tạo các file cấu hình của bạn .
Tạo cấu hình Bootstrap
Cấu hình đầu tiên ta cần tạo là để khởi động cụm. Đây không phải là một sự kiện quá phổ biến vì nó chỉ cần thiết để tạo cụm ban đầu. Tuy nhiên, ta sẽ tạo file cấu hình để có thể nhanh chóng bắt đầu lại trong trường hợp cụm bị hỏng hoàn toàn.
Bạn chỉ có thể đặt file cấu hình này trên một trong các server lãnh sự của bạn hoặc trên tất cả chúng để cung cấp cho bạn nhiều tùy chọn hơn để khởi động. Ta sẽ chỉ đưa nó lên server1
cho phần trình diễn này.
Các file cấu hình được lưu trữ trong JSON đơn giản, vì vậy chúng khá dễ quản lý. Tạo file đầu tiên trong folder con bootstrap
:
nano /etc/consul.d/bootstrap/config.json
Trong file này, ta có thể bắt đầu bằng cách chỉ định rằng khi cấu hình này được sử dụng, lãnh sự phải bắt đầu như một server ở chế độ bootstrap:
{ "bootstrap": true, "server": true }
Ta cũng nên chỉ định trung tâm dữ liệu nơi cụm của ta sẽ sống. Đây có thể là bất kỳ tên nào giúp bạn xác định vị trí thực của cụm. Lãnh sự biết trung tâm dữ liệu và những chỉ định này sẽ giúp bạn tổ chức các cụm khác nhau của bạn theo trung tâm dữ liệu.
Ta cũng có thể chuyển vào folder dữ liệu mà ta đã tạo tại /var/consul
. Lãnh sự sẽ sử dụng điều này để lưu trữ thông tin về trạng thái cụm:
{ "bootstrap": true, "server": true, "datacenter": "nyc2", "data_dir": "/var/consul" }
Tiếp theo, ta muốn thực hiện một số mã hóa cho giao thức thì thầm mà lãnh sự sử dụng. Nó có chức năng này được xây dựng bằng cách sử dụng một hệ thống bí mật được chia sẻ. Bí mật phải là một chuỗi mã hóa base-64 16 bit. Để nhận giá trị thích hợp với giá trị này, ta sẽ tạm thời thoát khỏi file .
Trong terminal , ta có thể sử dụng lệnh consul
để tạo khóa có độ dài và mã hóa cần thiết. Kiểu:
consul keygen
X4SYOinf2pTAcAHRhpj7dA==
Sao chép giá trị được tạo và mở lại file cấu hình:
nano /etc/consul.d/bootstrap/config.json
Sử dụng chuỗi đã sao chép làm giá trị cho tham số encrypt
:
{ "bootstrap": true, "server": true, "datacenter": "nyc2", "data_dir": "/var/consul", "encrypt": "X4SYOinf2pTAcAHRhpj7dA==" }
Cuối cùng, ta sẽ thêm một số thông tin bổ sung để chỉ định cấp độ log và cho biết muốn sử dụng log hệ thống để ghi log :
{ "bootstrap": true, "server": true, "datacenter": "nyc2", "data_dir": "/var/consul", "encrypt": "X4SYOinf2pTAcAHRhpj7dA==", "log_level": "INFO", "enable_syslog": true }
Lưu file khi bạn hoàn tất.
Tạo cấu hình server thông thường
Bây giờ ta đã hoàn tất cấu hình bootstrap, ta có thể sử dụng nó làm cơ sở cho cấu hình server chung của bạn . Cấu hình server sẽ được sử dụng khi cụm được khởi động.
Bắt đầu bằng cách sao chép file bootstrap từ server1
vào folder con của server trên máy đó để chỉnh sửa:
cp /etc/consul.d/bootstrap/config.json /etc/consul.d/server
Mở file để thực hiện các sửa đổi cần thiết:
nano /etc/consul.d/server/config.json
Để bắt đầu, ta cần tắt cờ bootstrap vì cấu hình này dành cho các cấu hình không phải bootstrap.
Điều duy nhất khác ta cần sửa đổi cho cấu hình server là chỉ định địa chỉ IP của server khác mà nút này sẽ cố gắng tham gia khi nó khởi động. Điều này đảm nhận việc tham gia tự động, để ta không phải tham gia cụm theo cách thủ công sau khi server của ta được khởi động:
{ "bootstrap": false, "server": true, "datacenter": "nyc2", "data_dir": "/var/consul", "encrypt": "X4SYOinf2pTAcAHRhpj7dA==", "log_level": "INFO", "enable_syslog": true, "start_join": ["192.0.2.2", "192.0.2.3"] }
Tham số encrypt
phải giống nhau cho tất cả những người tham gia trong hệ thống, vì vậy việc sao chép file đã thực hiện yêu cầu đó cho ta . Hãy nhớ điều này khi tạo cấu hình mới.
Lưu file khi bạn hoàn thành.
Bạn nên sao chép nội dung của file cấu hình này sang các máy khác sẽ hoạt động như server lãnh sự của bạn. Đặt chúng vào một file tại /etc/consul.d/server/config.json
giống như bạn đã làm trong server đầu tiên.
Giá trị duy nhất bạn cần sửa đổi trên các server khác là địa chỉ IP mà server đó nên cố gắng kết nối. Bạn nên đảm bảo nó cố gắng kết nối với server đầu tiên thay vì IP của chính nó. Ví dụ: server thứ hai trong ví dụ của ta sẽ có một file giống như sau:
{ "bootstrap": false, "server": true, "datacenter": "nyc2", "data_dir": "/var/consul", "encrypt": "X4SYOinf2pTAcAHRhpj7dA==", "log_level": "INFO", "enable_syslog": true, "start_join": ["192.0.2.1", "192.0.2.3"] }
Lưu và đóng các file bạn đã tạo khi hoàn tất.
Tạo cấu hình client
Bây giờ, cấu hình server của ta đã hoàn tất. Ta có thể tập trung vào việc cài đặt và chạy client của bạn với cấu hình phù hợp.
Mở file cấu hình trong folder con client trên client :
nano /etc/consul.d/client/config.json
Ta sẽ lại sử dụng cấu hình trước đó làm cơ sở cho cấu hình mới của bạn . Sao chép nội dung của một trong các file server vào file này.
Ta sẽ bắt đầu bằng cách xóa mọi đề cập đến tham số bootstrap
vì điều này chỉ áp dụng cho các cấu hình server và thay đổi tham số server
thành false.
Tiếp theo, ta sẽ thêm một tham số chỉ định vị trí của folder giao diện user web. Ta sẽ thu thập các file cần thiết cho việc này trong giây lát. Nơi họ sẽ cư trú là /home/consul/dist
.
Cuối cùng, ta muốn điều chỉnh tham số start_join
để liệt kê tất cả các server của ta :
{ "server": false, "datacenter": "nyc2", "data_dir": "/var/consul", "ui_dir": "/home/consul/dist", "encrypt": "X4SYOinf2pTAcAHRhpj7dA==", "log_level": "INFO", "enable_syslog": true, "start_join": ["192.0.2.1", "192.0.2.2", "192.0.2.3"] }
Lưu file khi bạn hoàn tất.
Download file giao diện user web
Bây giờ ta đã cấu hình client để phục vụ giao diện user web, ta cần lấy các file thực tế sẽ cho phép ta thực hiện điều này.
Trên trang web của lãnh sự, nhấp chuột phải vào liên kết đến giao diện user web của lãnh sự và chọn “vị trí liên kết sao chép” hoặc bất kỳ tùy chọn tương tự nào bạn có.
Về phía khách hàng, sử dụng su
để trở thành user consul
. Ta sẽ cài đặt folder web trong folder chính của người consul
.
su consul cd ~
Bây giờ, hãy nhập wget
, theo sau là một khoảng trắng và dán liên kết bạn đã sao chép để download giao diện user web. Tại thời điểm viết bài này, nó sẽ trông như thế này:
wget https://dl.bintray.com/mitchellh/consul/0.3.0_web_ui.zip
Extract file đã download và xóa file zip:
unzip *.zip rm *.zip
Thao tác này sẽ tạo một folder tên là dist
trong folder chính của bạn. Đây là folder mà ta đã trỏ tham số giao diện user web đến trong file cấu hình.
Trước khi ta tiếp tục, bạn nên thoát khỏi phiên của user lãnh sự để quay lại phiên root :
exit
Tạo tập lệnh khởi động
Bây giờ ta có các file cấu hình của ta tại chỗ. Tiếp theo, ta có thể tập trung vào việc tạo một script khởi động để các version lãnh sự của ta được tự động khởi động khi server khởi động và khởi động lại trong trường hợp có sự cố nào .
Vì khởi động cụm không phải là điều ta sẽ phải làm thường xuyên (hầu hết thời gian, bản thân cụm sẽ tồn tại và một nút duy nhất có thể phải được khởi động lại và tham gia lại cụm), ta sẽ không tính khởi động vào tập lệnh khởi động. Ta sẽ chỉ cho bạn cách hoàn thành thủ công quá trình này ngay sau đây.
Tập lệnh mới nổi của ta sẽ tương tự trên server của ta và trên client . Trên một trong các server lãnh sự, hãy tạo một file trong folder /etc/init
để chứa cấu hình lãnh sự của bạn:
nano /etc/init/consul.conf
Ta sẽ sao chép nội dung của file này sang các server khác và sau đó sử dụng nó làm cơ sở cho cấu hình client của ta . Trong file này, yêu cầu đầu tiên của doanh nghiệp là tạo mô tả về quy trình. Trên server của ta , ta sẽ sử dụng:
description "Consul server process"
Tiếp theo, ta chỉ định các điều kiện mà quá trình sẽ bắt đầu. Đối với dịch vụ này, ta muốn dịch vụ bắt đầu khi hệ thống file local được mount và khi network interface công cộng đang chạy.
Ta cũng muốn chỉ định khi nào quá trình sẽ dừng lại. Sử dụng runlevel tiêu chuẩn của Linux , ta có thể yêu cầu nó dừng quá trình khi nào nó không ở một trong các chế độ hoạt động bình thường (dừng quá trình khi tạm dừng hoặc khởi động lại server ):
description "Consul server process" start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel [!12345]
Ta có thể yêu cầu hệ thống init khởi động lại quá trình nếu nó bị chết bất ngờ. Ta cũng muốn chỉ định user và group mà quy trình sẽ chạy theo. Lưu ý , ta đã tạo user và group lãnh sự để tách biệt quy trình:
description "Consul server process" start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel [!12345] respawn setuid consul setgid consul
Cuối cùng, ta cần cung cấp lệnh thực tế mà ta muốn chạy. Đây chỉ đơn giản là lệnh consul
chạy ở chế độ đại lý. Ta sẽ chuyển vào folder chứa thông số cấu hình server của ta làm đối số cho lệnh:
description "Consul server process" start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel [!12345] respawn setuid consul setgid consul exec consul agent -config-dir /etc/consul.d/server
Lưu file khi bạn hoàn thành.
Sao chép nội dung của file này vào file có tên /etc/init/consul.conf
trên từng server của bạn và cả client .
Trên client , ta cần sửa đổi file một chút. Ta nên thay đổi mô tả để tham chiếu thực tế rằng đây là một client . Ta cũng cần thay đổi folder cấu hình được chuyển vào lệnh consul
thực consul
.
Tệp cuối sẽ trông giống như sau:
description "Consul client process" start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel [!12345] respawn setuid consul setgid consul exec consul agent -config-dir /etc/consul.d/client
Lưu file khi bạn hoàn tất.
Bắt đầu một cụm
Bây giờ, ta có mọi thứ để đưa một group lãnh sự nhanh chóng hoạt động. Quá trình này tương đối đơn giản.
Trên server có chứa file cấu hình bootstrap (trong trường hợp của ta là server1 ), hãy sử dụng su
để thay đổi ngắn gọn thành user lãnh sự. Sau đó, ta có thể gọi consul và chuyển vào folder bootstrap như một đối số:
su consul consul agent -config-dir /etc/consul.d/bootstrap
Dịch vụ sẽ khởi động và chiếm cửa sổ terminal . Trong chế độ bootstrap, server này sẽ tự bầu làm lãnh đạo, tạo cơ sở để hình thành cụm.
Trên các server lãnh sự khác của bạn, với quyền là server , hãy khởi động dịch vụ lãnh sự mà ta vừa tạo bằng tập lệnh khởi động bằng lệnh :
start consul
Các server này sẽ kết nối với server khởi động, hoàn thành cụm. Đến đây, ta có một cụm gồm ba server , hai trong số đó đang hoạt động bình thường và một trong số đó đang ở chế độ bootstrap, nghĩa là nó có thể đưa ra các quyết định điều hành mà không cần tham khảo ý kiến của các server khác.
Đây không phải là những gì ta muốn. Ta muốn mỗi server ngang hàng nhau. Bây giờ cụm đã được tạo, ta có thể tắt cá thể lãnh sự khởi động và sau đó nhập lại cụm như một server bình thường.
Để thực hiện việc này, hãy nhấn CTRL-C
trong terminal của server khởi động:
CTRL-C
Bây giờ, thoát trở lại phiên root của bạn và bắt đầu dịch vụ lãnh sự giống như bạn đã làm với các server còn lại:
exit start consul
Điều này sẽ khiến server đã khởi động trước đó tham gia vào cụm với các quyền chưa nâng cao, đưa cụm vào trạng thái cuối cùng của nó.
Bây giờ cụm đã hoạt động hoàn toàn, các client có thể kết nối. Trên client , thực hiện quy trình tương tự như root:
start consul
Máy khách sẽ kết nối với cụm với quyền là client . Bạn có thể thấy các thành viên của cụm ( server và client ) bằng cách yêu cầu lãnh sự cho các thành viên của nó trên bất kỳ máy nào:
consul members
Node Address Status Type Build Protocol server3 192.0.2.3:8301 alive server 0.3.0 2 server2 192.0.2.2:8301 alive server 0.3.0 2 server1 192.0.2.1:8301 alive server 0.3.0 2 agent1 192.0.2.50:8301 alive client 0.3.0 2
Kết nối với giao diện user Web
Ta đã cấu hình client của bạn để lưu trữ giao diện web cho cụm. Tuy nhiên, điều này đang được phục vụ trên giao diện local , nghĩa là ta không thể truy cập nó bằng giao diện công khai của máy.
Để có quyền truy cập vào giao diện user web, ta sẽ tạo một tunnel SSH tới client chứa các file giao diện user . Consul phục vụ giao diện HTTP trên cổng 8500. Ta sẽ chuyển cổng local 8500 của bạn đến cổng 8500 của client . Trên máy tính local của bạn, hãy nhập:
ssh -N -f -L 8500:localhost:8500 root@192.0.2.50
Thao tác này sẽ kết nối với máy từ xa, tạo một tunnel giữa cổng local của ta và cổng từ xa và sau đó đặt kết nối vào nền.
Trong trình duyệt web local của bạn, bây giờ bạn có thể truy cập giao diện web của lãnh sự bằng lệnh :
http://localhost:8500
Điều này sẽ cung cấp cho bạn trang giao diện user web mặc định:
Bạn có thể sử dụng giao diện này để kiểm tra tình trạng của các server và có cái nhìn tổng quan về các dịch vụ và cơ sở hạ tầng của bạn.
Khi bạn sử dụng xong giao diện user web, bạn có thể đóng tunnel SSH. Tìm kiếm số pid của quy trình bằng lệnh ps
và grep
để tìm kiếm số cổng mà ta đã chuyển tiếp:
ps aux | grep 8500
1001 5275 0.0 0.0 43900 1108 ? Ss 12:03 0:00 ssh -N -f -L 8500:localhost:8500 root@192.241.170.60 1001 5309 0.0 0.0 13644 948 pts/7 S+ 12:12 0:00 grep --colour=auto 8500
Số được đánh dấu trong kết quả ở trên (trên dòng chứa lệnh đào tunnel mà ta đã sử dụng) là số pid mà ta đang tìm kiếm. Sau đó, ta có thể chuyển nó tới lệnh kill
để đóng tunnel :
kill 5275
Kết luận
Đến đây bạn nên có một cách ổn định để quản lý các thành viên lãnh sự của bạn. Cụm lãnh sự có thể được khởi động và khởi động nhanh chóng và dễ dàng. Các node bổ sung có thể được cấu hình nhanh chóng bằng cách sao chép các file cấu hình (cấu hình lãnh sự và tập lệnh khởi động) của các server hiện có.
Mặc dù hiện tại ta đã cài đặt môi trường lãnh sự theo cách cho phép ta dễ dàng quản lý các dịch vụ của bạn , nhưng ta vẫn chưa hoàn toàn bảo mật thông tin liên lạc của bạn . Trong hướng dẫn tiếp theo , ta sẽ tập trung vào cách cài đặt xác thực certificate SSL để mã hóa và xác thực thông tin liên lạc RPC của các thành viên.
Các tin liên quan
Giới thiệu về cách sử dụng Consul, Hệ thống khám phá dịch vụ, trên Ubuntu 14.042014-08-15
Cách bảo mật lãnh sự bằng mã hóa TLS trên Ubuntu 14.04
2014-08-15
Cách tạo một cụm RethinkDB được chia nhỏ trên Ubuntu 14.04
2014-08-08
Cách cấu hình Varnish Cache 4.0 với SSL Termination trên Ubuntu 14.04
2014-08-07
Giới thiệu về Ganglia trên Ubuntu 14.04
2014-08-05
Cách thực hiện chấm dứt SSL với HAProxy trên Ubuntu 14.04
2014-07-10
Cách sử dụng WP Super Cache và Jetpack Photon để tối ưu hóa hiệu suất WordPress trên Ubuntu 14.04
2014-06-27
Cách cài đặt Tinc và thiết lập VPN cơ bản trên Ubuntu 14.04
2014-06-18
Cách cài đặt và sử dụng OTPW cho mật khẩu SSH dùng một lần trên Ubuntu 14.04
2014-06-17
Cách cài đặt và cấu hình Syncthing để đồng bộ hóa các thư mục trên Ubuntu 14.04
2014-06-16