Viettel Open Kubernetes Service (vOKS)

Dịch vụ nền tảng Kubernetes giúp các Nhà phát triển phần mềm dễ dàng xây dựng, triển khai, nhân rộng và quản lý các ứng dụng được đóng gói theo hình thái container

Viettel Open Kubernetes Service (vOKS) là một dịch vụ ở lớp nền tảng (Platform as a Service - PaaS) cung cấp cho các Nhà phát triển phần mềm một môi trường ảo hóa ở lớp OS (Operation System) hoàn chỉnh, hỗ trợ người dùng phát triển, kiểm thử, triển khai và phân phối các ứng dụng trên nền tảng Kubernetes.

vOKS được phát triển và cung cấp trên nền tảng Public Cloud mạnh mẽ và ổn định của Viettel IDC, nhờ đó dịch vụ được triển khai và cung cấp hoàn toàn tự động, nhanh chóng và thuận tiện cho khách hàng. vOKS đáp ứng nhiều tiêu chuẩn và chứng chỉ dành cho dịch vụ Cloud của Việt Nam (G-Cloud) cũng như thế giới (ISO 9001:2015 - Hệ thống quản lý Chất lượng, ISO 27001:2013 - Hệ thống quản lý An toàn thông tin, ISO 27017:2015 - Kiểm soát bảo mật an toàn thông tin cho các dịch vụ đám mây, v.v.).
 


Tính năng dịch vụ

  1. Tự động triển khai dịch vụ Viettel Kubernetes Service (Automate the deployment of Viettel Kubernetes Service)

    Đăng kí và khởi tạo tự động dịch vụ là các cụm Kubernetes Cluster được cấu hình sẵn chỉ với vài cú nhấp chuột, thuận tiện trong việc tăng giảm số lượng node, tài nguyên phần cứng trên hạ tầng điện toán đám mây cao cấp

  2. Đầy đủ tính năng của nền tảng phân phối Kubernetes (Fully functional Kubernetes)

    Cung cấp 1 framework để quản lý các container chạy ứng dụng, đảm bảo duy trì trạng thái hoạt động dịch như mong muốn thông qua tính năng điều phối tài nguyên, ổ lưu trữ; Tự động rollout và rollback không có downtime; quản lý cấu hình và bảo mật; Tăng/ giảm số lượng node….

  3. Tích hợp sẵn giải pháp lưu trữ dữ liệu lâu dài Persistent Storage (Intergrated Persistent Storage)

    Một ổ lưu trữ dữ liệu được kết nối với cụm Kubernetes Cluster bằng NFS server (Network File System), cho phép người dùng triển khai ứng dụng “Stateful” trên môi trường production

  4. Quản trị cụm Kubernetes Cluster bằng công cụ Kubectl (Manage Kubernetes Cluster by Kubectl)

    Người dùng dễ dàng tương tác và cấu hình thông qua công cụ dòng lệnh Kubectl đặc trưng của nền tảng Kubernetes.

  5. Quản lý thông tin dịch vụ qua Self Service Portal

    Hệ thống Automation dễ sử dụng, hiển thị đầy đủ thông tin, trạng thái hoạt động của node; tích hợp sẵn các tính năng như khởi tạo, thêm / xóa Node, gia hạn dịch vụ…

 

Sơ đồ hoạt động

<strong>Cung cấp Node Group</strong>

Cung cấp Node Group

Tính năng Node Group cho phép nhà phát triển tạo nhóm, tùy chỉnh và quản lý các worker nodes có liên quan hoặc phục vụ đa dạng nhu cầu sử dụng hạ tầng trong cùng 1 cụm tài nguyên Kubernetes.

<strong>Quản trị các Nodes tập trung</strong>

Quản trị các Nodes tập trung

Quản trị các Worker Nodes theo label, taints, cấu hình autoscale theo cùng nhóm cấu hình Node group; có thể thêm và xóa các Node groups nhanh chóng, dễ dàng;  quản lý chi phí sử dụng tập trung bằng self-service portal của Viettel IDC.

<strong>Nâng cấp phiên bản mới</strong>

Nâng cấp phiên bản mới

Hỗ trợ các version mới nhất và nâng cấp version liên tục, mang lại những cải thiện về hiệu năng, bảo mật nhằm hỗ trợ khách hàng sử dụng những tính năng mới nhất của nền tảng Kubernetes.

<strong>Lưu trữ Persistent Volume với giải pháp NFS Storage</strong>

Lưu trữ Persistent Volume với giải pháp NFS Storage

Tích hợp 01 NFS Node giúp lưu trữ dữ liệu dài hạn, tự động cấu hình chia sẻ giữa các Node. Khách hàng có thể chủ động bổ sung thêm dung lượng NFS Storage khi cần trên trang quản trj dịch vụ.

<strong>Tự động hoá & phục hồi Pod</strong>

Tự động hoá & phục hồi Pod

Kubernetes giúp tự động tạo Pod mới, xoá Pod cũ và phân phối tài nguyên của Pod cũ vào Pod mới, không gây downtime. Ngoài ra, tự động reboot các Pod bị lỗi, xoá hoặc thay thế các Pod không phản hồi healthcheck.

<strong>Cài đặt và sử dụng các công cụ giám sát nhanh chóng</strong>

Cài đặt và sử dụng các công cụ giám sát nhanh chóng

Khởi tạo các công cụ hỗ trợ như Kubernetes Dashboard, Prometheus và Grafana chỉ bằng 01 nút click ngay trên giao diện quản trị dịch vụ do Viettel IDC phát triển.

<strong>Kiểm soát tác động tới cluster</strong>

Kiểm soát tác động tới cluster

Kiểm soát mọi thay đổi với tính năng xem lại lịch sử thao tác trên cụm tài nguyên Kubernetes; bao gồm tạo, sửa Node group, cài đặt công cụ hỗ trợ, bổ sung dung lượng NFS Storage,...

<strong>Tích hợp Viettel CloudWatch (coming soon)</strong>

Tích hợp Viettel CloudWatch (coming soon)

Dễ dàng thu thập log, giám sát các thành phần như Pods, Volumes, Nodes trong Kubernetes thông qua công cụ Viettel CloudWatch của Viettel IDC.

Tiết kiệm thời gian & nỗ lực phát triển, vận hành

Kubernetes giúp các Nhà phát triển phần mềm tự động hoá tối đa các thao tác tạo, mở rộng và quản lý các cụm máy chủ phục vụ chạy ứng dụng, giúp cho công việc triển khai và phân phối ứng dụng dễ dàng và nhanh chóng hơn.

Dễ dàng & thuận tiện sử dụng

Khởi tạo & mở rộng tài nguyên dịch vụ nhanh chóng nhờ nền tảng Public Cloud Openstack của Viettel IDC. Việc triển khai, quản lý hạ tầng và ảo hoá do Viettel IDC hoàn toàn đảm nhận, khách hàng an tâm tập trung nguồn lực cho các hoạt động cốt lõi.

Triển khai kiến trúc microservice

Kubernetes và Container đóng vai trò quan trọng trong việc triển khai ứng dụng theo kiến trúc microservice, chuẩn hóa cách thức phát triển phần mềm thành các bộ services được tách biệt về dữ liệu và hoạt động độc lập với nhau.

Triển khai CI/CD

Triển khai các hệ thống CI/CD như Gitlab, Jenkin, Travis trên Kubernetes để thuận lợi trong việc quản lý quy trình phát triển phần mềm của đội ngũ DevOps, dễ dàng mở rộng quy mô xây dựng và tích hợp sản phẩm phần mềm.

Triển khai các ứng dụng cần mở rộng nhanh

Khả năng mở rộng tài nguyên linh hoạt, tự động và không giới hạn của Kubernetes giúp các ứng dụng Ngân hàng, Thương mại điện tử, Website đáp ứng tốt nhu cầu sử dụng tăng đột biến của khách hàng.

Triển khai API & Backend services

Với Kubernetes, đội ngũ nhà phát triển có thể xây dựng ứng dụng, kiểm thử và cập nhật phiên bản mới một cách độc lập, không làm ảnh hưởng đến toàn bộ ứng dụng, qua đó nâng cao tính khả dụng và hiệu quả cho các dịch vụ của khách hàng.

Chuyển dịch vụ giữa các Nhà cung cấp Cloud

Các ứng dụng, phần mềm đóng gói dưới dạng container sẽ dễ dàng được chuyển dịch sang các nền tảng Cloud khác, giữ nguyên tối đa hiện trạng ban đầu.

Chuyển dịch vụ từ On-premise lên Cloud

Kubernetes và Container giúp cho việc đóng gói và dịch chuyển các hệ thống CNTT của doanh nghiệp từ On-Premise lên Cloud và ngược lại một cách đơn giản và nhanh chóng.

          - Container là một đơn vị phần mềm được tiêu chuẩn hóa dùng để chứa mã nguồn và các thành phần phụ thuộc cần thiết để chạy 01 ứng dụng hoặc service.

          - Docker là nền tảng và công cụ để đóng gói 01 ứng dụng vào container, tự động hóa việc triển khai ứng dụng dưới dạng container từ môi trường này sang môi trường khác đảm bảo ứng dụng hoạt động ổn định và đồng nhất.

          - Kubernetes không tự tạo ra các container mà nhiệm vụ quan trọng nhất của nó là điều phối, lập lịch chạy, quản lý trạng thái các container khi mở rộng quy mô triển khai với yêu cầu cần phối hợp nhiều container hoạt động cùng nhau để phân phối các dịch vụ riêng lẻ trên 01 hạ tầng vật lý hoặc ảo hoá.

- vOKS cung cấp cho khách hàng các Kubernetes cluster với lựa chọn 01 Master Node hoặc 03 Master Nodes kèm Loadbalancer để nâng cao mức độ sẵn sàng của dịch vụ, Worker Nodes mở rộng không giới hạn số lượng:

  • Master Node là 1 VM, chứa tất cả thành phần logic để điều phối hoạt động của các Worker Node và định nghĩa, triển khai, quản trị vòng đời các container chạy trên Worker Node
  • Worker Node: Các ứng dụng được container hóa sẽ triển khai trên các Worker Node. Với mỗi gói dịch vụ vOKS, Viettel IDC cung cấp tối thiếu 03 Worker Node trong nhằm nâng cao khả năng chịu lỗi và tính sẵn sàng khi triển khai ứng dụng.

- NFS Node - Persistent Storage là 1 NFS Server (Network File System) được sử dụng như một giao thức kết nối các container đang hoạt động trong Worker Node tới một vùng lưu trữ dữ liệu độc lập (Persistent Storage).

- Node Storage có dung lượng cố định là 50 GB (SSD), được sử dụng để lưu trữ dữ liệu (dạng cache) của container trong quá trình hoạt động. Dữ liệu này chỉ được lưu tạm thời và sẽ bị xóa khi người dùng restart/reschedule các container.

- Mặt khác, dữ liệu của container trong quá trình hoạt động được ghi lại trên vùng lưu trữ riêng (Persistent Storage) và sẽ được giữ lại khi các container bị restart/reschedule; dữ liệu này có thể được chuyển giao giữa các container.

- Người dùng hoàn toàn có thể sử dụng tất cả plugin hoặc công cụ hiện có được phát triển từ cộng đồng Kubernetes. Các ứng dụng đang chạy trên bất kì môi trường Kubernetes tiêu chuẩn ở hạ tầng Cloud khác (AWS, Microsoft Azure..) hay trung tâm dữ liệu On-Premise đều tương thích và dễ dàng di chuyển sang dịch vụ vOKS của Viettel IDC

Các gói dịch vụ

Thông số vCPU, RAM, Storage, IP của mỗi node trong cluster là giống nhau