Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Nodeselector Kubernetes là gì? Hướng dẫn sử dụng Nodeselector Kubernetes chi tiết

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:06/02/2026
Lượt xem

Quy trình sản xuất nội dung

Đánh giá

[esi kkstarratings cache="private" ttl="3"]

NodeSelector trong Kubernetes là cơ chế cho phép bạn chỉ định pod sẽ được triển khai trên những Node cụ thể dựa trên label của node. Việc sử dụng NodeSelector giúp tối ưu phân bổ tài nguyên, đảm bảo workload chạy đúng môi trường mong muốn như node có GPU, SSD hay cấu hình đặc biệt. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết về NodeSelector Kubernetes, cách hoạt động và hướng dẫn sử dụng hiệu quả trong thực tế.

Những điểm chính

  1. Khái niệm: Hiểu rõ NodeSelector là cơ chế lựa chọn node đơn giản nhất, giúp bạn kiểm soát vị trí triển khai pod dựa trên các nhãn một cách trực tiếp.
  2. Nguyên lý hoạt động: Nắm vững cơ chế hoạt động hai bước của NodeSelector, giúp bạn hiểu rõ cách Kubernetes scheduler khớp nhãn giữa pod và node để lên lịch chính xác.
  3. Ưu và nhược điểm: Đánh giá được các điểm mạnh và hạn chế của NodeSelector, giúp bạn đưa ra quyết định phù hợp khi nào nên sử dụng cơ chế này và khi nào cần các giải pháp linh hoạt hơn.
  4. Hướng dẫn sử dụng: Nắm vững các bước thực hành cơ bản, giúp bạn tự tin áp dụng NodeSelector để gán nhãn cho node và cấu hình pod một cách chính xác, từ cấp độ pod riêng lẻ đến toàn cụm.
  5. Ứng dụng và các cơ chế liên quan: Tìm hiểu các trường hợp sử dụng thực tế và cách kết hợp NodeSelector với các cơ chế lên lịch nâng cao khác, giúp bạn xây dựng chiến lược phân bổ workload toàn diện và hiệu quả.
  6. Ví dụ thực tế: Tham khảo được quy trình triển khai pod Nginx cụ thể, giúp hình dung rõ ràng cách áp dụng kiến thức vào môi trường làm việc thực.
  7. Biết thêm Vietnix là nhà cung cấp dịch vụ Enterprise Cloud và hạ tầng lưu trữ chất lượng cao cho doanh nghiệp.
  8. Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến NodeSelector Kubernetes.
những điểm chính

Nodeselector Kubernetes là gì?

NodeSelector Kubernetes là cơ chế đơn giản cho phép người dùng lựa chọn node mong muốn để pod được triển khai. Khi cấu hình trường nodeSelector trong spec của pod, bạn chỉ định một nhãn cụ thể mà node cần có. Scheduler của Kubernetes sẽ đối chiếu các node trong cluster, chỉ lên lịch cho những node phù hợp với nhãn đã chỉ định, từ đó kiểm soát chính xác vị trí pod sẽ chạy.

NodeSelector Kubernetes là cơ chế cho phép người dùng lựa chọn node mong muốn để pod được triển khai
NodeSelector Kubernetes là cơ chế cho phép người dùng lựa chọn node mong muốn để pod được triển khai

NodeSelector rất hữu ích trong các tình huống như khi bạn muốn đảm bảo các workload quan trọng hoặc yêu cầu tài nguyên lớn chỉ được chạy trên những node mạnh hơn hoặc có cấu hình chuyên biệt, thay vì để Kubernetes tự động phân bổ lên bất kỳ node nào. Ngoài việc lọc node theo nhãn, Kubernetes Scheduler vẫn tiếp tục đánh giá các điều kiện khác như tài nguyên CPU, RAM còn trống để đảm bảo pod có thể được triển khai thành công. NodeSelector chỉ đóng vai trò là tiêu chí lọc node ban đầu dựa trên label.

Để triển khai NodeSelector hiệu quả trong môi trường Kubernetes, bạn cần cụm tài nguyên lưu trữ ổn định, tách biệt và có khả năng mở rộng linh hoạt theo từng nhóm node. Với Enterprise Cloud của Vietnix, bạn có thể tự tạo và quản lý nhiều cloud server trên một cụm tài nguyên riêng, tối ưu cấu hình cho từng node trong cluster Kubernetes. Nhờ đó, việc gán nhãn node và dùng NodeSelector để tách workload quan trọng sang nhóm máy chủ mạnh hoặc cô lập môi trường theo phòng ban, dự án trở nên rõ ràng và dễ kiểm soát hơn. Liên hệ ngay để được tư vấn chi tiết về dịch vụ!

Nguyên lý hoạt động của Nodeselector Kubernetes

Nguyên lý hoạt động của NodeSelector Kubernetes dựa trên quá trình gán nhãn cho các node để định nghĩa đặc điểm hạ tầng hoặc vai trò, sau đó sử dụng trường nodeSelector trong manifest của pod để chỉ định pod phải chạy trên node có nhãn phù hợp. Khi pod được tạo, scheduler của Kubernetes sẽ thực hiện đánh giá toàn bộ node trong cluster, loại bỏ các node không khớp nhãn và chỉ chọn những node đáp ứng đúng tiêu chí nodeSelector của pod để lên lịch triển khai.

Để vận hành NodeSelector, quy trình gồm hai bước chính:

  • Quản trị viên sử dụng lệnh gán nhãn cho node, ví dụ:
kubectl label nodes node-1 disktype=ssd
  • Người dùng bổ sung thông số nodeSelector trong cấu hình pod:
spec:
  nodeSelector:
    disktype: ssd

Như vậy pod chỉ được lên lịch chạy trên node có nhãn disktype=ssd. Nếu không có node nào phù hợp thì pod sẽ chờ cho đến khi xuất hiện node đáp ứng tiêu chí.

NodeSelector được cấu hình trực tiếp ở cấp độ pod thông qua trường nodeSelector trong PodSpec. Khi pod được tạo, scheduler của Kubernetes sẽ lọc các node trong cluster dựa trên nhãn được chỉ định, chỉ giữ lại những node có label khớp hoàn toàn với điều kiện của pod để tiến hành lên lịch triển khai.

Nếu không có node nào đáp ứng tiêu chí, pod sẽ ở trạng thái pending cho đến khi xuất hiện node phù hợp. Trong các cluster có nhiều môi trường hoặc yêu cầu hạ tầng khác nhau, việc gán nhãn node hợp lý và sử dụng NodeSelector giúp kiểm soát chính xác việc phân phối workload, đảm bảo pod luôn được chạy trên node phù hợp với mục đích và yêu cầu tài nguyên của ứng dụng.

Nguyên lý hoạt động của Nodeselector Kubernetes
Nguyên lý hoạt động của Nodeselector Kubernetes

Ưu và nhược điểm của Nodeselector

Ưu điểm
  • default icon

    Tính đơn giản và dễ sử dụng: Người dùng dễ dàng kiểm soát vị trí pod bằng cách thêm nhãn cho node và sử dụng trực tiếp trong cấu hình pod, không cần quy tắc lập lịch phức tạp.

  • default icon

    Phù hợp với môi trường nhỏ hoặc ít biến động: NodeSelector hiệu quả đối với cụm nhỏ hoặc workload nhẹ, ví dụ chia loại ứng dụng theo nhu cầu tài nguyên hoặc môi trường rõ ràng như dev và prod.

Nhược điểm
  • default icon

    Thiếu linh hoạt so với các cơ chế nâng cao: NodeSelector chỉ khớp nhãn chính xác, không hỗ trợ ưu tiên, dự phòng hoặc biểu thức nâng cao như node affinity, nên hạn chế trong các kịch bản cần chiến lược scheduling thông minh.

  • default icon

    Không tối ưu cho môi trường lớn, nhiều thay đổi: Trong các cụm lớn, việc thêm/xóa node hoặc thay đổi nhãn đòi hỏi quản trị viên phải cập nhật liên tục và NodeSelector không hỗ trợ nhiều điều kiện hay ưu tiên phân bố workload.

1. Sử dụng Nodeselector để quản lý vị trí của pod

Bước 1: Thêm nhãn cho node

Trước tiên, bạn xác định node mục tiêu bằng lệnh:

kubectl get nodes --show-labels

Sau đó gán nhãn cho node:

kubectl label nodes <node-name> <key>=<value>

Ví dụ:

kubectl label nodes host02 disktype=ssd

Để kiểm tra lại nhãn đã gán, bạn dùng lệnh:

kubectl describe node host02

Bước 2: Thêm nodeSelector vào cấu hình pod

Trong file YAML của pod, bạn thêm field nodeSelector vào phần spec:

apiVersion: v1
kind: Pod
metadata:
  name: example-pod
spec:
  containers:
  - name: nginx
    image: nginx
  nodeSelector:
    disktype: ssd

Tiếp đó, bạn tạo Pod bằng lệnh:

kubectl apply -f example-pod.yaml

Xác thực pod đã được lên lịch đúng node:

kubectl get pod -o wide

iconLưu ý

Nếu không có node nào khớp nhãn, pod sẽ không được scheduling mà ở trạng thái Pending.

2. Tạo Default cluster-wide node selectors – Áp dụng cho OpenShift

Bước 1: Chỉnh sửa scheduler CR để cấu hình nodeSelector mặc định cho toàn cụm

Kubernetes thuần không hỗ trợ cấu hình nodeSelector mặc định ở cấp cluster. Tính năng này chỉ khả dụng trên OpenShift thông qua KubeScheduler Operator. Bạn truy cập/chỉnh sửa tài nguyên Scheduler CR:

apiVersion: operator.openshift.io/v1
kind: KubeScheduler
...
spec:
  nodeSelector:
    type: user-node
    region: east

Áp dụng thay đổi và đợi quá trình rollout cho các nhóm liên quan. Scheduler sẽ tự động gán giá trị nodeSelector này cho tất cả pod mới được lên lịch.

Bước 2: Gán nhãn cho node

Tương tự bước ở trên, bạn dùng câu lệnh:

kubectl label nodes <node-name> type=user-node region=east

iconLưu ý

Các pod sẽ chỉ được scheduling lên node mang nhãn phù hợp với cấu hình cluster-wide nodeSelector. Việc cập nhật nodeSelector yêu cầu rollout lại các nhóm đã triển khai.​

3. Tạo Project node selectors

Trong OpenShift, mỗi Project có thể cấu hình nodeSelector mặc định thông qua annotation. Tất cả pod được tạo trong Project sẽ tự động kế thừa nodeSelector này khi scheduling.

Bước 1: Chỉnh sửa namespace để thêm nodeSelector cho từng dự án

Bạn truy cập namespace và thêm trường nodeSelector:

apiVersion: v1
kind: Namespace
metadata:
  name: example-namespace
  annotations:
    openshift.io/node-selector: 'region=east'
kubectl apply -f example-namespace.yaml

Bước 2: Thêm nhãn cho node trong dự án

Bạn gán nhãn cho node:

kubectl label nodes <node-name> region=east type=user-node

iconLưu ý

NodeSelector ở dự án sẽ ưu tiên hơn nodeSelector toàn cụm. Nếu không có node khớp, pod sẽ không được scheduling, có thể kiểm tra trạng thái hoặc báo lỗi bằng lệnh kubectl describe pod <pod-name>.​

4. Sử dụng Nodeselector để gán pod cho Node

Bước 1: Kiểm tra và gán nhãn cho node

Bạn xem nhãn node có sẵn bằng câu lệnh:

kubectl get nodes --show-labels

Sau đó, bạn gán nhãn cho node mục tiêu:

kubectl label nodes host02 disktype=ssd

Bước 2: Tạo pod với cấu hình nodeSelector

File YAML ví dụ:

apiVersion: v1
kind: Pod
metadata:
  name: httpd
  labels:
    env: prod
spec:
  containers:
  - name: httpd
    image: httpd
    imagePullPolicy: IfNotPresent
  nodeSelector:
    disktype: ssd

Bạn tạo pod mới bằng câu lệnh:

kubectl apply -f test-pod.yaml

Bước 3: Kiểm tra node đã lên lịch pod

Bạn xem thông tin chi tiết pod bằng câu lệnh:

kubectl get pod -o wide

Hoặc:

kubectl describe pod httpd

Pod chỉ được scheduling lên node có nhãn disktype=ssd. Nếu không có node phù hợp, pod sẽ ở trạng thái Pending.

Các trường hợp nên sử dụng NodeSelector

NodeSelector đặc biệt phù hợp khi bạn cần kiểm soát vị trí workload ở mức cơ bản trong cluster mà không phải xây dựng quy tắc phức tạp. Ví dụ:

  • Phân bổ workload lên phần cứng chuyên dụng: Nếu công việc xử lý dữ liệu yêu cầu GPU, bạn nên gán nhãn gpu=true cho các node GPU rồi cấu hình pod với nodeSelector này để đảm bảo pod chỉ được scheduling lên đúng node.
  • Tách biệt môi trường phát triển, kiểm thử, sản xuất: Gán nhãn env=dev, env=prod cho từng nhóm node, từ đó mỗi loại pod sẽ chỉ triển khai môi trường phù hợp, tăng tính kiểm soát tài nguyên và bảo mật.
  • Tuân thủ chính sách bảo mật, quy định: Nếu ứng dụng chứa dữ liệu nhạy cảm, bạn gán nhãn riêng cho node được phép chạy ứng dụng, tránh rủi ro về quyền truy cập.
NodeSelector đặc biệt phù hợp khi bạn cần kiểm soát vị trí workload ở mức cơ bản trong cluster
NodeSelector đặc biệt phù hợp khi bạn cần kiểm soát vị trí workload ở mức cơ bản trong cluster

iconLưu ý

NodeSelector chỉ cho phép khớp nhãn chính xác, không hỗ trợ thiết lập dự phòng hoặc ưu tiên như Node Affinity, do đó không phù hợp cho các nhu cầu scheduling phức tạp.

Một số cách ứng dụng NodeSelector

1. Gán nhãn cho node hiệu quả khi dùng NodeSelector

Để NodeSelector phát huy tối đa hiệu quả, bạn cần xây dựng hệ thống nhãn thống nhất, dễ quản lý bằng cách:

  • Sử dụng nhãn chuẩn: Gán nhãn như node-type=high-memory, region=us-west, env=prod cho node để dễ dàng kiểm soát lịch trình pod.
  • Đồng nhất cách đặt nhãn: Trên toàn cluster nên dùng cùng một key cho một ý nghĩa, tránh trường hợp node này có nhãn env=prod, node khác lại là environment=production khiến scheduling thất bại.
  • Tránh quá nhiều nhãn trên node: Chỉ nên gán những nhãn phục vụ kiểm soát workload thực sự cần thiết, tránh trường hợp pod không lên lịch được do thiếu khớp nhãn.

2. Kết hợp NodeSelector với các cơ chế scheduling khác

  • Node Affinity: Node Affinity mở rộng NodeSelector với khả năng thiết lập điều kiện chọn node bằng biểu thức, cho phép thiết lập cả bắt buộc và ưu tiên. Ví dụ, bạn muốn pod ưu tiên chạy trên node kiểu high-memory nhưng khi cần vẫn chấp nhận các node khác, cấu hình như sau:
spec:
  affinity:
    nodeAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 1
          preference:
            matchExpressions:
            - key: node-type
              operator: In
              values:
              - high-memory
  • Taints và Tolerations: Taints dùng để ngăn pod lên lịch trên node, trừ phi pod có toleration phù hợp. Bạn đặt taint bằng câu lệnh:
kubectl taint nodes worker-node-1 dedicated=high-memory:PreferNoSchedule

Cấu hình toleration cho pod để vượt qua rào cản này:

spec:
  tolerations:
    - key: "dedicated"
      operator: "Equal"
      value: "high-memory"
      effect: "PreferNoSchedule"

3. Pod Affinity/Anti-Affinity

Pod Affinity đảm bảo các pod liên quan được triển khai gần nhau, tối ưu hiệu suất hoặc độ trễ, pod Anti-Affinity giúp phân tán workload:

spec:
  affinity:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              app: frontend
          topologyKey: "kubernetes.io/hostname"

4. Topology Spread Constraints

Để workload không tập trung vào một khu vực/khu vực lỗi đơn lẻ, hãy cấu hình phân tán pod theo topology:

spec:
  topologySpreadConstraints:
    - maxSkew: 1
      topologyKey: "topology.kubernetes.io/zone"
      whenUnsatisfiable: ScheduleAnyway
      labelSelector:
        matchLabels:
          app: web

5. Resource Requests và Limits

Dù dùng NodeSelector, bạn vẫn cần định nghĩa tài nguyên rõ ràng cho pod để scheduler chọn đúng node còn đủ resource. Ví dụ:

spec:
  containers:
  - name: mycontainer
    image: nginx
    resources:
      requests:
        memory: "512Mi"
        cpu: "250m"
      limits:
        memory: "1Gi"
        cpu: "500m"

Để tránh throttling, bạn hãy đặt requests sát với mức sử dụng thực tế và bỏ trống limits (nếu cụm của bạn cho phép) hoặc đặt limits đủ cao.

6. Custom scheduler

Trong các hệ thống lớn, quy mô hoặc nhu cầu đặc thù, bạn có thể triển khai scheduler riêng cho pod:

spec:
  schedulerName: my-custom-scheduler

Ví dụ thực tế về triển khai pod lên Node chỉ định

Trong ví dụ này, mình sẽ thực hiện điều phối một pod chạy chính xác trên một Node cụ thể bằng cách sử dụng nhãn (label) env=demo.

Bước 1: Gán nhãn cho Node mục tiêu

Trước tiên, bạn chọn node cần dùng và gán nhãn cho node đó. Ở đây node có tên tuandm-demodoc-q45ldrzmq4cj-node-0 được gán nhãn env=demo:

kubectl label nodes tuandm-demodoc-q45ldrzmq4cj-node-0 env=demo
Gán nhãn cho Node mục tiêu
Gán nhãn cho Node mục tiêu

Kubernetes sẽ trả về:

node/tuandm-demodoc-q45ldrzmq4cj-node-0 labeled

Bạn kiểm tra lại nhãn bằng lệnh:

kubectl get nodes --show-labels | grep env

Kết quả có chứa env=demo tại node vừa gán nhãn là đã thành công.

Bước 2: Cấu hình pod để tìm đúng nhãn

Tiếp theo, bạn khai báo nodeSelector trong file YAML của pod để yêu cầu Scheduler chỉ đặt pod lên các node có nhãn env: demo:

apiVersion: v1
kind: Pod
metadata:
  name: demo-pod
spec:
  containers:
    - name: nginx
      image: nginx
  nodeSelector:
    env: demo  # Pod chỉ được chạy trên node có nhãn env=demo
Cấu hình YAML của Pod
Cấu hình YAML của Pod

Bước 3: Xác nhận kết quả triển khai

Bạn tạo pod bằng lệnh:

kubectl apply -f demo-pod.yaml

Khi đó Kubernetes Scheduler sẽ tìm các node có nhãn env=demo và lên lịch pod demo-pod đúng vào node tuandm-demodoc-q45ldrzmq4cj-node-0. Để kiểm tra pod đang chạy trên node nào, bạn dùng:

kubectl get pod -o wide

Cột NODE sẽ hiển thị tên node có nhãn env=demo mà pod đang chạy.

Kiểm tra vị trí chính xác của Pod
Kiểm tra vị trí chính xác của pod

Vietnix – Nhà cung cấp dịch vụ Enterprise Cloud và hạ tầng lưu trữ chất lượng cao cho doanh nghiệp

Vietnix là đơn vị cung cấp hệ sinh thái dịch vụ lưu trữ và hạ tầng cloud đáp ứng nhu cầu vận hành website, ứng dụng và hệ thống doanh nghiệp ở nhiều quy mô. Từ hosting web ổn định, dịch vụ máy chủ ảo linh hoạt đến Enterprise Cloud cho các hệ thống yêu cầu hiệu năng và độ sẵn sàng cao, Vietnix giúp bạn xây dựng nền tảng hạ tầng phù hợp từng giai đoạn phát triển. Với hạ tầng đầu tư bài bản và đội ngũ kỹ thuật hỗ trợ 24/7, Vietnix đồng hành cùng doanh nghiệp trong việc triển khai và vận hành hệ thống ổn định, hiệu quả lâu dài!

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh

Câu hỏi thường gặp

Nodeselector multiple labels là gì?

Nodeselector multiple labels là cách khai báo nhiều cặp key/value nhãn trong trường nodeSelector của pod, giúp pod chỉ được scheduling lên node đáp ứng đồng thời tất cả nhãn này. Ví dụ, nếu bạn muốn pod chỉ chạy trên node vừa có loại đĩa là SSD vừa đặt ở region east, cấu hình nodeSelector của pod sẽ như sau:
spec:
nodeSelector:
disktype: ssd
region: east

Pod chỉ khởi chạy trên node gắn đủ cả hai nhãn disktype=ssdregion=east.

Nodeselector NodePool là gì?

Nodeselector NodePool là cách sử dụng nhãn để scheduling pod lên một nhóm node (node pool) được định nghĩa riêng biệt trong cluster. Thông thường, nhà quản trị sẽ gán nhãn như nodepool=backend cho các node thuộc pool backend, sau đó cấu hình nodeSelector:
spec:
nodeSelector:
nodepool: backend

Như vậy, pod chỉ được lên lịch trên node thuộc NodePool backend, giúp kiểm soát workload hiệu quả và tối ưu hóa tài nguyên từng nhóm node.

NodeSelector label là gì?

NodeSelector label là nhãn key/value gắn trên node dùng để Kubernetes Scheduler lọc và chọn node phù hợp khi lên lịch pod có khai báo nodeSelector. Bạn gán label cho node (ví dụ env=demo, size=large), sau đó trong spec của pod khai báo nodeSelector: { env: demo }, Kubernetes chỉ đặt pod lên những node mang đúng label này.

NodeSelector Kubernetes là một cơ chế đơn giản nhưng hiệu quả để kiểm soát vị trí triển khai pod trong cluster. NodeSelector giúp đảm bảo các workload chạy trên đúng loại hạ tầng yêu cầu, tối ưu hóa tài nguyên và tăng cường bảo mật. Mặc dù có những hạn chế nhất định so với các cơ chế nâng cao như Node Affinity, việc hiểu và áp dụng NodeSelector một cách hiệu quả là kiến thức nền tảng để quản lý các cụm Kubernetes, đảm bảo ứng dụng vận hành đúng vị trí và ổn định.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

kien-thuc-dich-vu

kien-thuc-kubernetes

text
icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG