Logo Zephyrnet

Câu chuyện về Kubernetes!

Ngày:

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

https://tinyurl.com/4n8u64jh

Giới thiệu

Kubernetes thường được gọi là (K8s) là một hệ thống tự động hóa triển khai, mở rộng quy mô và quản lý các ứng dụng được chứa trong vùng chứa.

Các vùng chứa của ứng dụng được nhóm thành các đơn vị logic, có thể dễ dàng quản lý và khám phá. Yếu tố quan trọng của Kubernetes là kinh nghiệm 15 năm điều hành khối lượng công việc sản xuất tại Google kết hợp với các ý tưởng và phương pháp thực hành tốt nhất từ ​​cộng đồng.

Là một phần của kiến ​​trúc vi dịch vụ, Kubernetes thể hiện một bước tiến xa khỏi kiến ​​trúc nguyên khối, nơi các dịch vụ được tách rời, tách biệt và chỉ lớn ở mức cần thiết. Được phát triển dưới dạng container, các microservice này được khởi chạy trong vài giây và có thể ngừng hoạt động chỉ sau vài phút sử dụng.

Nếu bạn định tách nhóm và chứa khối nguyên khối của mình, tại sao phải bận tâm khi kết quả cuối cùng gần giống với người dùng? Việc duy trì và phát triển gần như dễ dàng như việc triển khai. Microservice cung cấp một số lợi thế so với kiến ​​trúc nguyên khối, chẳng hạn như quản lý cấu hình đơn giản hóa, phân bổ tài nguyên chính xác hơn và cải thiện giám sát hiệu suất.

Chúng tôi sẽ giới thiệu mọi thứ bạn cần biết về việc chuẩn bị đơn đăng ký cho cuộc sống bên trong vùng chứa đám mây trong hướng dẫn này.

Kiến trúc cơ bản của Kubernetes 

Kiến trúc Kubernetes

https://tinyurl.com/2tp33ydc

Hộp đựng: Nói chung, vùng chứa là một “ứng dụng vi mô” biệt lập với tất cả các gói và thư viện phần mềm cần thiết.

pods: Các nhóm nhóm hai hoặc nhiều vùng chứa lại với nhau và là một phần quan trọng của kiến ​​trúc K8. Nếu một nhóm bị lỗi, K8 có thể tự động thay thế nó, bổ sung thêm CPU và bộ nhớ, thậm chí là sao chép nó để mở rộng quy mô. Pod được gán địa chỉ IP. Một “bộ điều khiển” quản lý một nhóm các nhóm, cùng nhau tạo thành một “khối lượng công việc” có thể mở rộng. Các nhóm được kết nối thông qua “dịch vụ”, đại diện cho toàn bộ khối lượng công việc. Bất chấp việc mở rộng quy mô hoặc phá hủy một số nhóm, dịch vụ vẫn cân bằng lưu lượng truy cập web trên các nhóm. Điều quan trọng cần lưu ý là khối lượng lưu trữ được gắn vào các nhóm và được tiếp xúc với các thùng chứa trong các nhóm đó.

Người điều khiển: Bộ điều khiển là một vòng điều khiển so sánh trạng thái mong muốn và trạng thái thực tế của cụm K8 và kết nối với máy chủ API để tạo, cập nhật và xóa các tài nguyên mà nó quản lý. Bộ chọn nhãn trong bộ điều khiển xác định tập hợp các nhóm mà bộ điều khiển có thể kiểm soát. Bộ điều khiển sao chép (nhóm tỷ lệ), Bộ điều khiển DeamonSet (đảm bảo mỗi nút nhận được một bản sao của nhóm được chỉ định), Bộ điều khiển công việc (chạy phần mềm tại một thời điểm cụ thể), Bộ điều khiển Cronjob (lên lịch các công việc chạy định kỳ), Bộ điều khiển StatefulSet (điều khiển các ứng dụng trạng thái) và Bộ điều khiển triển khai đều là ví dụ về bộ điều khiển K8 (điều khiển các ứng dụng không trạng thái).

Node: Một nhóm có thể được lên lịch trên một nút, máy chủ vật lý hoặc ảo. Thời gian chạy vùng chứa, nhóm kubelet và nhóm proxy Kube đều được cài đặt trên mọi nút (sẽ có thêm thông tin về ba mục sắp tới). Có thể chia tỷ lệ các nhóm nút theo cách thủ công và tự động (còn được gọi là nhóm tự động chia tỷ lệ hoặc nhóm nhóm nút).

Volumes: Dung lượng lưu trữ của K8 cho phép lưu trữ dữ liệu lâu dài và có thể truy cập được trong suốt vòng đời của nhóm. Các thùng chứa của nhóm có thể chia sẻ dung lượng lưu trữ. Một nút cũng có thể truy cập trực tiếp vào ổ lưu trữ.

DỊCH VỤ: Dịch vụ Kubernetes là một tập hợp các nhóm hợp tác. Một ví dụ về dịch vụ K8 được hiển thị bên dưới.

Trong tệp cấu hình dịch vụ, “bộ chọn nhãn” xác định một tập hợp các nhóm tạo nên một dịch vụ duy nhất. Tính năng dịch vụ cung cấp cho dịch vụ một địa chỉ IP và tên DNS, đồng thời tính năng này sẽ quay vòng lưu lượng truy cập đến các địa chỉ khớp với bộ chọn nhãn. Cách tiếp cận này cho phép giao diện người dùng được "tách rời" (hoặc trừu tượng hóa) khỏi phần phụ trợ một cách hiệu quả.

Kube-proxy: Thành phần Kube-proxy được cài đặt trên mỗi nút và chịu trách nhiệm duy trì các dịch vụ mạng trên các nút công nhân. Nó cũng chịu trách nhiệm duy trì các quy tắc mạng, cho phép liên lạc mạng giữa các dịch vụ và nhóm cũng như định tuyến lưu lượng mạng.

Kubelet: Kubelet chạy trên mỗi nút và gửi thông tin đến Kubernetes về trạng thái và tình trạng của các container.

Thời gian chạy vùng chứa: Thời gian chạy của container là phần mềm cho phép các container chạy. Container, Docker và CRI-O là những ví dụ phổ biến về thời gian chạy của container.

Mặt phẳng điều khiển: Đơn vị điều khiển chính của cụm là Kubernetes master. Nó quản lý toàn bộ cụm K8, bao gồm cả khối lượng công việc và đóng vai trò là giao diện liên lạc của cụm. Mặt phẳng điều khiển Kubernetes được tạo thành từ nhiều phần. Các thành phần này cho phép Kubernetes chạy các ứng dụng có tính sẵn sàng cao. Sau đây là các thành phần chính của mặt phẳng điều khiển Kubernetes:

  • Vv: etcd lưu trữ dữ liệu cấu hình tổng thể của cụm (tức là trạng thái và chi tiết của nhóm), từ đó thể hiện trạng thái của cụm trong các nút chính Kubernetes. Máy chủ API giám sát cụm và thực hiện các thay đổi đối với cụm để phù hợp với bộ trạng thái mong muốn bằng cách sử dụng dữ liệu etcd.
  • Máy chủ API: Dữ liệu JSON được gửi qua HTTP. Nó đóng vai trò là giao diện bên trong và bên ngoài của Kubernetes. Nó xử lý các yêu cầu, xác thực chúng và hướng dẫn dịch vụ hoặc bộ điều khiển thích hợp cập nhật đối tượng trạng thái trong etcd, cũng như cho phép người dùng định cấu hình khối lượng công việc trên cụm.
  • Scheduler: đánh giá các nút để xác định vị trí nên đặt một nhóm đột xuất dựa trên các yêu cầu, chính sách, mối quan hệ nhãn và vị trí dữ liệu khối lượng công việc của CPU và Bộ nhớ

Người quản lý điều khiển: Trình quản lý bộ điều khiển là một quy trình duy nhất giám sát tất cả các bộ điều khiển của Kubernetes. Mặc dù các bộ điều khiển là các quy trình riêng biệt về mặt logic nhưng chúng được chạy dưới dạng một quy trình duy nhất trong DaemonSet để đơn giản hóa mọi thứ.

Điều kiện tiên quyết

Yêu cầu phần cứng

Một hoặc nhiều máy chạy một trong:

Ubuntu 16.04 +

Debian 9

CentOS 7

RHEL 7

Fedora 25/26 (nỗ lực tốt nhất)

HypriotOS v1.0.1+

Container Linux (đã thử nghiệm với 1800.6.0)

Bộ nhớ và CPU yêu cầu tối thiểu (lõi)

Bộ nhớ yêu cầu tối thiểu của nút chính là 2GB và nút công nhân cần tối thiểu là 1GB

Nút chính cần ít nhất 1.5 và nút công nhân cần ít nhất 0.7 lõi.

Thiết lập cụm

Để quản lý cụm của bạn, bạn cần cài đặt kubeadm, kubelet và kubectl.

kubeadm: lệnh khởi động lại cụm.

kubelet: thành phần chạy trên tất cả các máy trong cụm của bạn và thực hiện những việc như khởi động nhóm và vùng chứa.

kubectl: công cụ dòng lệnh để nói chuyện với cụm của bạn.

Các bước để làm theo 

  • Định cấu hình bảng IP
  • Tắt Hoán đổi
  • Cài đặt Docker và cấu hình
  • Cài đặt Kubeadm-Kubelet & Kubectl
  • Tạo chính sách kiểm tra mặc định
  • Cài đặt trình điều khiển máy khách NFS

Các tính năng chính của Kubernetes

Tính năng của Kubernetes

https://tinyurl.com/yc8rdrhh

Khám phá dịch vụ và cân bằng tải: Kubernetes chỉ định một tên DNS và địa chỉ IP cho mỗi nhóm nhóm. Khi có lưu lượng truy cập lớn, K8 sẽ tự động cân bằng tải trên một dịch vụ có thể bao gồm nhiều nhóm.

Triển khai và khôi phục tự động: K8 có thể triển khai các nhóm mới và hoán đổi chúng với các nhóm hiện có. Nó cũng có thể thay đổi cấu hình mà không ảnh hưởng đến người dùng cuối. Kubernetes cũng bao gồm tính năng khôi phục tự động. Nếu một tác vụ không được hoàn thành thành công, chức năng khôi phục này có thể hoàn tác các thay đổi.

Quản lý bí mật và cấu hình: Cấu hình và thông tin bí mật có thể được lưu trữ và cập nhật an toàn mà không cần phải xây dựng lại hình ảnh. Cấu hình ngăn xếp không yêu cầu tiết lộ bí mật, giảm nguy cơ xâm phạm dữ liệu.

Điều phối lưu trữ: K8 có thể được sử dụng để gắn nhiều hệ thống lưu trữ khác nhau, bao gồm lưu trữ cục bộ, lưu trữ mạng và nhà cung cấp đám mây công cộng.

Đóng gói thùng tự động: Các thuật toán Kubernetes cố gắng phân bổ các thùng chứa một cách hiệu quả dựa trên các yêu cầu về CPU và RAM được định cấu hình. Chức năng này hỗ trợ doanh nghiệp tối ưu hóa việc sử dụng tài nguyên.

Tự chữa bệnh: Kubernetes thực hiện kiểm tra tình trạng trên các nhóm và khởi động lại các vùng chứa bị lỗi. Nếu một nhóm bị lỗi, K8 sẽ không cho phép kết nối với nhóm đó cho đến khi quá trình kiểm tra tình trạng hoàn tất.

Sự khác biệt giữa Kubernetes và Docker

Kubernetes Docker bầy
Cài đặt phức tạp Cài đặt dễ dàng hơn
Phức tạp hơn với độ dốc
đường cong học tập, nhưng mạnh mẽ hơn
Nhẹ và dễ dàng hơn
học nhưng chức năng hạn chế
Hỗ trợ tự động mở rộng quy mô Chia tỷ lệ thủ công
Giám sát tích hợp Cần các công cụ của bên thứ ba để
giám sát
Thiết lập tải thủ công
cân bằng
Cân bằng tải tự động
Cần một công cụ CLI riêng Tích hợp với Docker CLI
Hỗ trợ 2000 > nút Hỗ trợ lên đến 5000 nút
Dịch vụ đám mây công cộng
các nhà cung cấp - Azure có thể
Dịch vụ đám mây công cộng
nhà cung cấp – Google, Azure và AWS
Tốc độ được xem xét cho
trạng thái cụm mạnh.
Cung cấp triển khai container
và mở rộng quy mô, ngay cả trong các cụm lớn mà không tính đến tốc độ.
Được sử dụng bởi Spotify,
Pinterest, eBay, Twitter, v.v.
Được sử dụng bởi 9GAG, Intuit,
Bộ đệm, Evernote, v.v.

Nghiên cứu điển hình trong thế giới thực

Babylon

Thách thức

Các sản phẩm của Babylon phụ thuộc rất nhiều vào học máy và trí tuệ nhân tạo. Vào năm 2019, Babylon không có đủ sức mạnh tính toán để thực hiện một thử nghiệm cụ thể. Cùng với việc phát triển (từ 100 lên 1,600 trong ba năm), công ty có kế hoạch mở rộng sang các quốc gia khác.

Dung dịch

Nhóm cơ sở hạ tầng tại Babylon đã chuyển các ứng dụng hướng tới người dùng dựa trên Kubernetes sang Kubeflow vào năm 2018, một bộ công cụ cho phép học máy trên Kubernetes. Chúng tôi đã thiết kế một máy chủ lõi Kubernetes, chúng tôi triển khai Kubeflow và điều phối toàn bộ thử nghiệm, kết quả là rất tốt,” Trưởng nhóm Cơ sở hạ tầng AI Jérémie Vallée cho biết. Một nền tảng tự phục vụ để đào tạo AI đang được phát triển dựa trên Kubernetes.

Va chạm

Thay vì phải chờ hàng giờ hoặc hàng ngày để truy cập vào tài nguyên máy tính, các nhóm có thể truy cập chúng ngay lập tức. Trước đây phải mất 10 giờ để hoàn thành quá trình xác nhận lâm sàng; bây giờ phải mất dưới 20 phút. Ngoài ra, nền tảng dựa trên đám mây của Babylon đã cho phép nó mở rộng ra quốc tế.

Booking.com

Thách thức

Booking.com đã triển khai OpenShift vào năm 2016, cho phép các nhà phát triển sản phẩm truy cập cơ sở hạ tầng nhanh hơn. Nhóm cơ sở hạ tầng đã trở thành “nút thắt cổ chai về kiến ​​thức” khi các thách thức nảy sinh do Kubernetes đã bị các nhà phát triển loại bỏ. Khả năng mở rộng quy mô hỗ trợ trở nên không bền vững.

Dung dịch

Nhóm nền tảng đã quyết định, sau khi sử dụng OpenShift trong một năm, sẽ xây dựng nền tảng Kubernetes vanilla của riêng họ và yêu cầu các nhà phát triển tìm hiểu một số Kubernetes để sử dụng nó. Ben Tyler, Nhà phát triển chính của B Platform Track, cho biết "Đây không phải là một nền tảng kỳ diệu". Bạn không thể sử dụng nó chỉ bằng cách làm theo hướng dẫn. Các nhà phát triển cần học hỏi và chúng tôi sẽ làm mọi thứ có thể để giúp họ học hỏi.

Va chạm

Việc áp dụng Kubernetes đã tăng lên bất chấp đường cong học tập của nó. Có thể mất hàng giờ để các nhà phát triển tạo ra một dịch vụ mới trước khi đưa vào container hoặc hàng tuần nếu họ không biết đến Puppet. Sử dụng nền tảng mới, chỉ mất 10 phút. Hơn 500 dịch vụ mới đã được phát triển trong XNUMX tháng đầu tiên.

Spotify

Thách thức

Với hơn 200 triệu người dùng hoạt động hàng tháng trên toàn thế giới, nền tảng phát trực tiếp âm thanh đã được ra mắt vào năm 2008. Jai Chakrabarti, Giám đốc Kỹ thuật, Cơ sở hạ tầng và Vận hành cho biết: “Chúng tôi mong muốn trao quyền cho người sáng tạo và mang lại trải nghiệm nghe tuyệt vời cho tất cả người tiêu dùng của chúng tôi hôm nay và mai sau.” Spotify, công ty đầu tiên áp dụng microservice và Docker, đã có các microservice được đóng gói trong container chạy trên nhóm máy ảo của mình bằng cách sử dụng Helios, một hệ thống điều phối container cây nhà lá vườn. Ông nói: “Có một nhóm nhỏ làm việc về các tính năng sẽ không hiệu quả bằng việc áp dụng thứ gì đó được cộng đồng lớn hơn nhiều hỗ trợ”.

Dung dịch

Chakrabarti nói: “Chúng tôi thấy cộng đồng đáng kinh ngạc đã lớn lên xung quanh Kubernetes và muốn trở thành một phần trong đó”. Kubernetes cung cấp nhiều tính năng hơn Helios. Hơn nữa, “chúng tôi muốn hưởng lợi từ tốc độ tăng lên và chi phí thấp hơn, cũng như phù hợp với phần còn lại của ngành về các phương pháp và công cụ tốt nhất”. Đồng thời, nhóm mong muốn đóng góp kiến ​​thức và tầm ảnh hưởng của mình cho cộng đồng Kubernetes đang phát triển mạnh mẽ. Theo Chakrabarti, quá trình di chuyển sẽ diễn ra đồng thời với Helios sẽ diễn ra suôn sẻ vì “Kubernetes rất phù hợp như một lời khen ngợi và giờ đây là sự thay thế cho Helios”.

Va chạm

Nhóm đã dành phần lớn thời gian của năm 2018 để giải quyết các vấn đề công nghệ cốt lõi cần thiết cho quá trình di chuyển, bắt đầu vào cuối năm đó và là trọng tâm chính của năm 2019. “Một tỷ lệ nhỏ nhóm của chúng tôi đã được di chuyển sang Kubernetes và chúng tôi đã nhận được phản hồi từ nội bộ của chúng tôi. Chakrabarti cho biết: các nhóm mà họ không có nhu cầu tập trung vào việc cung cấp công suất thủ công và có nhiều thời gian hơn để tập trung vào việc cung cấp các tính năng cho Spotify”. Theo Kỹ sư về độ tin cậy của trang web James Wen, dịch vụ lớn nhất hiện đang chạy trên Kubernetes xử lý khoảng 10 triệu yêu cầu mỗi giây dưới dạng dịch vụ tổng hợp và được hưởng lợi rất nhiều từ việc tự động mở rộng quy mô. Ông cho biết thêm: “Trước đây, các đội sẽ phải đợi một giờ để tạo một dịch vụ mới và được phê duyệt”.

Adidas

Thách thức

Trong những năm gần đây, nhóm Adidas hài lòng với những lựa chọn công nghệ của mình—nhưng việc tiếp cận tất cả các công cụ là một thách thức. Daniel Eichten, Giám đốc cấp cao về Kỹ thuật nền tảng cho biết: “Chỉ để có được một nhà phát triển VM,” Daniel Eichten, Giám đốc cấp cao về Kỹ thuật nền tảng, “bạn phải gửi biểu mẫu yêu cầu, nêu mục đích, nêu tiêu đề của dự án, ai chịu trách nhiệm, gọi điện cho trung tâm chi phí nội bộ để rằng họ có thể sạc lại.” “Trong trường hợp tốt nhất, bạn sẽ nhận được máy của mình trong vòng nửa giờ. Trường hợp xấu nhất là nửa tuần hoặc thậm chí một tuần.”

Dung dịch

Để cải thiện quy trình, “chúng tôi đã bắt đầu từ quan điểm của nhà phát triển” và tìm cách rút ngắn thời gian thiết lập và vận hành một dự án cũng như đưa vào cơ sở hạ tầng của Adidas, Giám đốc cấp cao về Kỹ thuật nền tảng Fernando Cornago cho biết. Họ đã tìm ra giải pháp với khả năng chứa, phát triển linh hoạt, phân phối liên tục và nền tảng gốc đám mây bao gồm Kubernetes và Prometheus.

Va chạm

Sáu tháng sau khi dự án bắt đầu, trang thương mại điện tử Adidas đã chạy hoàn toàn trên Kubernetes. Thời gian tải của trang thương mại điện tử đã giảm đi một nửa. Tần suất phát hành tăng từ 4-6 tuần một lần lên 3-4 lần mỗi ngày. adidas hiện vận hành 40% các hệ thống quan trọng, có tác động mạnh mẽ nhất trên nền tảng gốc đám mây, với 4,000 nhóm, 200 nút và 80,000 bản dựng mỗi tháng

Lợi ích

  • Sử dụng Kubernetes và hệ sinh thái khổng lồ của nó có thể cải thiện năng suất của bạn
  • Kubernetes và nền tảng công nghệ dựa trên nền tảng đám mây thu hút nhân tài
  • Kiểm tra và tự động sửa lỗi ứng dụng
  • Kubernetes là một giải pháp chứng minh trong tương lai
  • Kubernetes giúp ứng dụng của bạn chạy ổn định hơn
  • Kubernetes có thể rẻ hơn so với các lựa chọn thay thế của nó
  • Nó được phát triển bởi Google, mang lại nhiều năm kinh nghiệm có giá trị trong ngành.
  • Cộng đồng lớn nhất trong số các công cụ điều phối vùng chứa.
  • Cung cấp nhiều tùy chọn lưu trữ, bao gồm SAN tại chỗ và đám mây công cộng.
  • Tuân thủ các nguyên tắc của cơ sở hạ tầng bất biến.
  • Kiểm soát và tự động hóa việc triển khai và cập nhật
  • Tiết kiệm tiền bằng cách tối ưu hóa tài nguyên cơ sở hạ tầng nhờ sử dụng phần cứng hiệu quả hơn
  • Mở rộng quy mô tài nguyên và ứng dụng trong thời gian thực
  • Giải quyết nhiều vấn đề phổ biến bắt nguồn từ sự gia tăng nhanh chóng của các container bằng cách sắp xếp chúng thành các “nhóm”

Điểm yếus

  • Kubernetes có thể là quá mức cần thiết cho các ứng dụng đơn giản
  • Quá trình chuyển đổi sang Kubernetes có thể phức tạp
  • Chức năng bị hạn chế tùy theo tính khả dụng trong API Docker.
  • Quá trình cài đặt/cấu hình rất phức tạp
  • Không tương thích với các công cụ Docker CLI và Compose hiện có
  • Triển khai cụm thủ công phức tạp và thiết lập tỷ lệ ngang tự động

Thuật ngữ hệ sinh thái Kubernetes

cụm

Là một tập hợp các máy được gọi riêng lẻ là các nút dùng để chạy các ứng dụng được đóng gói do Kubernetes quản lý.

Node

Là máy ảo hoặc vật lý. Một cụm bao gồm một nút chính và một số nút công nhân.

Vùng chứa đám mây

Là một hình ảnh chứa phần mềm và các phần phụ thuộc của nó.

Pod

Là một vùng chứa đơn lẻ hoặc một tập hợp các vùng chứa chạy trên cụm Kubernetes của bạn.

Triển khai

Là một đối tượng quản lý các ứng dụng được sao chép được đại diện bởi các nhóm. Các nhóm được triển khai trên các nút của một cụm.

Bản sao

Đảm bảo rằng một số lượng bản sao nhóm được chỉ định đang chạy cùng một lúc.

Dịch vụ

Mô tả cách truy cập các ứng dụng được đại diện bởi một tập hợp các nhóm. Các dịch vụ thường mô tả các cổng và bộ cân bằng tải, đồng thời có thể được sử dụng để kiểm soát quyền truy cập bên trong và bên ngoài vào một cụm.

Container: Một gói phần mềm độc lập, có thể thực thi được bao gồm tất cả các mã và phần phụ thuộc cần thiết.

Kiến trúc bất biến: Một mô hình cơ sở hạ tầng nơi các máy chủ không bao giờ được sửa đổi mà chỉ được thay thế.

Cơ sở hạ tầng dưới dạng mã: Thực hành cung cấp và quản lý tài nguyên trung tâm dữ liệu bằng cách sử dụng các tệp định nghĩa khai báo mà con người có thể đọc được (ví dụ: YAML).

Microservices: Một loạt các dịch vụ phần mềm có thể triển khai độc lập, cùng nhau tạo nên một ứng dụng.

Tỷ lệ theo chiều dọc: Nơi bạn phân bổ nhiều CPU hoặc bộ nhớ hơn cho các máy hoặc vùng chứa riêng lẻ của mình.

Chia tỷ lệ ngang: Nơi bạn thêm nhiều máy hoặc bộ chứa hơn vào nhóm tài nguyên điện toán cân bằng tải của mình.

Kết luận

Kubernetes là một hệ thống phức tạp. Tuy nhiên, nó đã được chứng minh là nền tảng linh hoạt, có khả năng mở rộng và hiệu quả nhất để điều phối các ứng dụng dựa trên bộ chứa có tính sẵn sàng cao, hỗ trợ khối lượng công việc có trạng thái và không trạng thái đa dạng và tách rời, đồng thời cung cấp triển khai và khôi phục tự động.

Không có câu trả lời đơn giản cho việc áp dụng Kubernetes có phải là lựa chọn tốt nhất cho bạn hay không. Nó phụ thuộc vào các yêu cầu và ưu tiên cụ thể của bạn và nhiều lý do kỹ thuật thậm chí không được đề cập ở đây. Nếu bạn đang bắt đầu một dự án mới, làm việc trong một công ty khởi nghiệp muốn mở rộng quy mô và phát triển không chỉ là MVP nhanh chóng hoặc cần nâng cấp một ứng dụng cũ, Kubernetes có thể là một lựa chọn tốt vì nó cung cấp nhiều tính linh hoạt, sức mạnh và khả năng mở rộng. Tuy nhiên, việc này luôn cần đầu tư thời gian vì bạn phải học các kỹ năng mới và thiết lập quy trình công việc mới trong nhóm phát triển của bạn.

Tuy nhiên, nếu thực hiện đúng, đầu tư thời gian để tìm hiểu và áp dụng Kubernetes thường sẽ mang lại kết quả trong tương lai do chất lượng dịch vụ được cải thiện, năng suất tăng và lực lượng lao động có động lực hơn.

Trong mọi trường hợp, bạn nên đưa ra quyết định sáng suốt và có rất nhiều lý do thuyết phục để sử dụng hoặc tránh Kubernetes. Tôi hy vọng bài viết này đã giúp bạn đưa ra quyết định tốt nhất cho bạn.

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img