Kubernetes là gì

Kubernetes là gì

bảng điều khiển kubernetes.

kubernetes là một nền tảng mã nguồn mở, di động và có thể mở rộng để quản lý các ứng dụng và dịch vụ đóng gói, hỗ trợ cấu hình và tự động hóa việc triển khai ứng dụng. kubernetes là một hệ sinh thái lớn và phát triển nhanh chóng. Các dịch vụ, hỗ trợ và công cụ có sẵn rộng rãi.

Bạn Đang Xem: Kubernetes là gì

Tên kubernetes có nguồn gốc từ tiếng Hy Lạp và có nghĩa là người lái xe hoặc người điều hướng. Google đã mở kubernetes nguồn từ năm 2014. kubernetes được xây dựng dựa trên 15 năm kinh nghiệm của Google khi điều hành một số lượng lớn khối lượng công việc trong thế giới thực, kết hợp với các ý tưởng và phương pháp hay nhất từ ​​đồng cộng đồng.

Ngược dòng thời gian

Hãy quay ngược thời gian và xem tại sao kubernetes lại hữu ích đến vậy.

Deployment evolution

Xem Thêm : Cần trục là gì?

Kỷ nguyên triển khai truyền thống : Ban đầu, các ứng dụng chạy trên các máy chủ vật lý. Không thể xác định ranh giới tài nguyên cho các ứng dụng trong máy chủ vật lý, điều này gây ra sự cố phân bổ tài nguyên. Ví dụ: nếu nhiều ứng dụng đang chạy trên cùng một máy chủ vật lý, có thể xảy ra trường hợp một ứng dụng tiêu thụ nhiều tài nguyên hơn trong khi các ứng dụng khác hoạt động kém. Một giải pháp là chạy từng ứng dụng trên một máy chủ vật lý khác nhau. Nhưng giải pháp này không phải là tối ưu vì tài nguyên không được sử dụng hết và rất tốn kém cho các tổ chức để duy trì quá nhiều máy chủ vật lý.

Kỷ nguyên ảo hóa: Như một giải pháp, ảo hóa đã được giới thiệu. Nó cho phép bạn chạy nhiều máy ảo (vms) trên CPU của một máy chủ vật lý. Ảo hóa cho phép các ứng dụng được tách biệt giữa các máy ảo và cung cấp mức độ bảo mật, vì thông tin của ứng dụng này không thể bị truy cập tự do bởi thông tin của ứng dụng khác.

Ảo hóa cho phép sử dụng tài nguyên tốt hơn trong các máy chủ vật lý và cho phép khả năng mở rộng tốt hơn vì các ứng dụng có thể dễ dàng được thêm vào hoặc cập nhật, giảm chi phí phần cứng và hơn thế nữa. Với ảo hóa, bạn có thể tạo một tập hợp các tài nguyên vật lý có sẵn dưới dạng một cụm máy ảo.

Mỗi vm là một máy tính chạy tất cả các thành phần, bao gồm cả hệ điều hành của riêng nó, trên phần cứng được ảo hóa.

Kỷ nguyên triển khai vùng chứa: Vùng chứa tương tự như máy ảo, nhưng chúng được tách biệt để chia sẻ hệ điều hành (os) giữa các ứng dụng. Vì vậy, container được coi là nhẹ. Tương tự như vm, vùng chứa có hệ thống tệp, cpu, bộ nhớ, không gian xử lý, v.v. Khi chúng được tách khỏi cơ sở hạ tầng bên dưới, chúng có thể được chuyển sang đám mây hoặc phân phối hệ điều hành.

Xem Thêm : Vượt vũ môn

Hộp chứa phổ biến vì chúng có nhiều lợi ích bổ sung, chẳng hạn như:

  • Tạo và triển khai các ứng dụng nhanh: Tạo hình ảnh vùng chứa dễ dàng và hiệu quả hơn so với việc sử dụng hình ảnh vm.
  • Liên tục Phát triển, Tích hợp và Triển khai: Cung cấp các bản dựng và triển khai hình ảnh vùng chứa đáng tin cậy và thường xuyên với khả năng hoàn trả nhanh chóng, dễ dàng.
  • Phân biệt giữa dev và ops: Tách ứng dụng khỏi cơ sở hạ tầng bằng cách tạo hình ảnh của vùng chứa ứng dụng tại thời điểm xây dựng / phát hành thay vì thời gian triển khai.
  • Khả năng quan sát không chỉ hiển thị thông tin và chỉ số cấp hệ điều hành mà còn hiển thị tình trạng ứng dụng và các tín hiệu khác.
  • Giữ cho môi trường của bạn nhất quán trong suốt quá trình phát triển, thử nghiệm và sản xuất: chạy trên máy tính xách tay của bạn cũng giống như chạy trên đám mây.
  • Khả năng di động trên đám mây và các bản phân phối hệ điều hành: chạy trên ubuntu, rhel, coreos, local, google kubernetes engine và bất kỳ nơi nào khác.
  • Quản lý ứng dụng tập trung: Nâng cao mức độ trừu tượng từ việc chạy hệ điều hành trên phần cứng được ảo hóa lên chạy các ứng dụng trên hệ điều hành sử dụng tài nguyên logic.
  • Các vi dịch vụ phân tán, đàn hồi: Các ứng dụng được phân tách thành các phần độc lập nhỏ hơn có thể được triển khai và quản lý động – không phải là một ứng dụng duy nhất.
  • Tài nguyên Cô lập: Dự đoán Hiệu suất Ứng dụng
  • Sử dụng tài nguyên: Hiệu quả
  • Tại sao kubernetes cần thiết và nó có thể làm gì?

    Vùng chứa là một cách tuyệt vời để đóng gói và chạy các ứng dụng. Trong môi trường sản xuất, bạn cần quản lý các vùng chứa đang chạy các ứng dụng của mình và đảm bảo không có thời gian chết. Ví dụ: nếu một vùng chứa tắt, một vùng chứa khác cần được khởi động. Điều này sẽ dễ dàng hơn nếu được xử lý bởi hệ thống.

    Đây là cách kubernetes ảnh hưởng đến chúng tôi. kubernetes cung cấp cho bạn khuôn khổ để chạy các hệ thống phân tán mạnh mẽ. Nó đảm nhận việc mở rộng quy mô và chuyển đổi dự phòng của ứng dụng của bạn, cung cấp các mẫu triển khai và hơn thế nữa. Ví dụ: kubernetes có thể dễ dàng quản lý việc triển khai canary cho hệ thống của bạn.

    kubernetes cung cấp cho bạn:

    • Khám phá dịch vụ và cân bằng tải kubernetes có thể hiển thị vùng chứa bằng địa chỉ dns hoặc ip của chính nó. Nếu lưu lượng vùng chứa cao, kubernetes có thể cân bằng tải và phân phối lưu lượng mạng để triển khai ổn định.
    • Điều phối bộ nhớ kubernetes cho phép bạn tự động kết nối hệ thống lưu trữ mà bạn chọn, chẳng hạn như lưu trữ cục bộ, nhà cung cấp dịch vụ đám mây công cộng, v.v.
    • Tự động triển khai và khôi phục Bạn có thể mô tả trạng thái mong muốn của vùng chứa được triển khai với kubernetes, có thể thay đổi trạng thái thực tế thành trạng thái mong muốn bằng điều khiển tần số. Ví dụ: bạn có thể tự động hóa các kubernetes để tạo các vùng chứa mới cho việc triển khai của mình, xóa các vùng chứa hiện có và áp dụng tất cả tài nguyên của chúng cho các vùng chứa mới.
    • Đóng gói tự động Bạn cung cấp cho kubernetes một nhóm các nút mà nó có thể sử dụng để chạy các tác vụ được chứa trong vùng chứa. Bạn cho kubernetes biết mỗi container cần bao nhiêu cpu và bộ nhớ (ram). kubernetes có thể gửi vùng chứa đến các nút để sử dụng đầy đủ tài nguyên của bạn.
    • Tự phục hồi kubernetes khởi động lại vùng chứa bị lỗi, thay thế vùng chứa, xóa vùng chứa không phản hồi với cấu hình kiểm tra tình trạng do người dùng xác định và khách hàng không biết về chúng cho đến khi chúng sẵn sàng.
    • Quản lý cấu hình và bảo mật kubernetes cho phép bạn lưu trữ và quản lý thông tin nhạy cảm như: mật khẩu, mã thông báo oauth và khóa ssh. Bạn có thể triển khai và cập nhật các khóa và cấu hình ứng dụng của mình mà không cần xây dựng lại hình ảnh vùng chứa hoặc để lộ các khóa trong cấu hình ngăn xếp.
    • kubernetes là gì?

      kubernetes không phải là một hệ thống paas (Nền tảng như một Dịch vụ) truyền thống, toàn diện. Vì kubernetes chạy ở lớp vùng chứa thay vì lớp phần cứng, nó cung cấp các tính năng thường áp dụng cho các dịch vụ paas, chẳng hạn như triển khai, mở rộng quy mô, cân bằng tải, ghi nhật ký và giám sát. Tuy nhiên, kubernetes không phải là nguyên khối và các giải pháp mặc định này là tùy chọn và có thể cắm được.

      kubernetes:

      • Hỗ trợ các loại ứng dụng không giới hạn. Kubernetes được thiết kế để hỗ trợ khối lượng công việc cực kỳ đa dạng, bao gồm xử lý dữ liệu không trạng thái, trạng thái và xử lý dữ liệu. Nếu ứng dụng có thể chạy trong một vùng chứa thì nó sẽ chạy tốt trên kubernetes.
      • Không triển khai mã nguồn hoặc xây dựng ứng dụng của bạn. Quá trình ci / cd được xác định bởi các yêu cầu về tổ chức và kỹ thuật.
      • Không cung cấp các dịch vụ cấp ứng dụng như phần mềm trung gian (chẳng hạn như bus tin nhắn), khung xử lý dữ liệu (chẳng hạn như spark), cơ sở dữ liệu (chẳng hạn như mysql), bộ nhớ đệm và hệ thống lưu trữ theo nhóm (chẳng hạn như cephalosporin). Các thành phần như vậy có thể chạy trên kubernetes và / hoặc có thể được truy cập bởi các ứng dụng chạy trên kubernetes thông qua các cơ chế di động như môi giới dịch vụ mở.
      • Không yêu cầu các giải pháp ghi nhật ký, giám sát hoặc cảnh báo. Nó cung cấp nhiều tích hợp, chẳng hạn như bằng chứng khái niệm và cơ chế để thu thập và xuất các số liệu.
      • Không được cung cấp, không yêu cầu cấu hình hệ thống / ngôn ngữ (ví dụ: jsonnet). Nó cung cấp một api khai báo có thể được nhắm mục tiêu bởi bất kỳ biểu mẫu khai báo nào.
      • Không cung cấp cũng như không sử dụng bất kỳ cấu hình, bảo trì, quản lý hoặc hệ thống tự phục hồi toàn diện nào.
      • Hơn nữa, kubernetes không chỉ là một hệ thống điều phối. Trên thực tế, nó loại bỏ sự cần thiết của dàn nhạc. Định nghĩa kỹ thuật của điều phối là việc thực hiện một quy trình công việc xác định: đầu tiên là a, sau đó là b và cuối cùng là c. Ngược lại, kubernetes bao gồm một tập hợp các quy trình điều khiển độc lập, có thể kết hợp, liên tục điều khiển trạng thái hiện tại đến một trạng thái mong muốn nhất định. Bạn đi từ a đến c như thế nào không quan trọng. Cũng không cần kiểm soát tập trung. Điều này làm cho hệ thống dễ sử dụng hơn, mạnh mẽ hơn, linh hoạt hơn và có thể mở rộng.
      • Tiếp theo là gì

        • Tìm hiểu thêm về các thành phần của kubernetes
        • Sẵn sàng để bắt đầu?

Nguồn: https://anhvufood.vn
Danh mục: Kinh Nghiệm

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *