Phân phối Linux nhẹ cho cụm máy chủ web Kubernetes bản địa & Ứng dụng SaaS

CoreOS, công ty phát triển phần mềm đám mây quản lý phân phối Container Linux, mới phát hành phiên bản Tectonic 1.64 (31/05/2017), cung cấp một cách nhanh chóng và dễ dàng để triển khai cụm Kubernetes để hỗ trợ ứng dụng web / di động trên AWS hoặc tự mạng máy chủ lưu trữ đám mây. Core OS có hơn 100 dự án phần mềm nguồn mở đang được phát triển bởi công ty trên GitHub bao gồm etcd, flannel, rkt, Ignition, Clair, Matchbox, dex và prometheus-Toán tử. Tectonic được sử dụng miễn phí cho các cụm Kubernetes có tối đa 10 nút, sau đó một số doanh nghiệp, trung tâm dữ liệu khác nhau, & giấy phép kinh doanh có sẵn với sự hỗ trợ kỹ thuật chuyên nghiệp. Quay.io là một sản phẩm SaaS trên đám mây khác được CoreOS cung cấp theo giấy phép độc quyền giúp các nhóm DevOps quản lý ảnh chụp nhanh của container bằng Docker hoặc rkt, cụm Kubernetes, Container Linux, & CoreOS kiến ​​tạo trong sản xuất ở quy mô. Quay.io bao gồm các tính năng quản lý ảnh chụp nhanh container với bảo mật tích hợp, phân tích, thanh toán, giám sát, xây dựng kho lưu trữ, sao lưu tự động và kiểm soát phiên bản cho phần mềm ngăn xếp máy chủ web với hỗ trợ GitHub, Bitbucket hoặc Gitlab tiên tiến (Dockerfile Build Triggers).


Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

CoreOS là một trong những công ty phần mềm hàng đầu phát triển các giải pháp đám mây nguồn mở mới trên Linux và công ty đã được Alex Polvi (CEO), Brandon Philips (CTO) và Michael Marineau khởi xướng vào năm 2013. Polvi đã bán công ty Cloudkick của anh ấy đến Rackspace năm 2010 và sau đó thành lập Core OS với Philips (nhà phát triển nhân SUSE Linux trước đây & Lập trình viên đám mây Rackspace) & Marineau (từ Google). Mục đích ban đầu của công ty về cơ bản là xây dựng một bản phân phối Linux nhẹ cho các container sẽ sao chép những gì Google đã vận hành trong các trung tâm dữ liệu của họ với "Ếch". Vào thời điểm đó, Kubernetes chưa được phát hành công khai hoặc có nguồn mở, nhưng sau 2014/15 khi quản trị nền tảng Kubernetes được tiếp quản bởi Linux Foundation, CoreOS đã đóng một vai trò lớn trong Tổ chức Điện toán đám mây (CNCF) để mà “giúp tạo điều kiện hợp tác giữa các nhà phát triển và nhà khai thác trên các công nghệ phổ biến.” Google sau đó cũng đã ra mắt Google Container Engine cho Kubernetes và Docker (GKE) với việc sử dụng cả hai tiêu chuẩn được áp dụng trên các nền tảng đám mây cạnh tranh tại AWS, Azure, OCP, VMware, RHEL, v.v. Hầu như mọi công ty phần mềm đám mây lớn đều có Kubernetes giải pháp máy chủ web cụm năm 2017 với việc sử dụng rộng rãi vvd & phần mềm rkt của CoreOS (CloudFoundry, Fedora, ArchLinux). CoreOS Tectonic cạnh tranh chủ yếu với GKE, RancherOS, Docker Swarm hoặc sử dụng Kubespray làm tùy chọn đám mây lai tự lưu trữ để quản lý cụm máy chủ web kim loại trần độc lập ("nhà cung cấp bất khả tri") phần cứng trung tâm dữ liệu.

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

CoreOS Container Linux được phát triển để phù hợp với nhu cầu được nêu trong tài liệu nghiên cứu nổi tiếng được xuất bản bởi Google vào năm 2013 được gọi là "Trung tâm dữ liệu dưới dạng máy tính: Giới thiệu về thiết kế máy quy mô kho." (Barroso, Clidara, & Hölzle) Bài viết này nêu ra các nguyên tắc đằng sau việc hình thành cơ sở hạ tầng trung tâm dữ liệu trên mô hình đám mây trái ngược với thiết kế máy chủ đơn lẻ. Với phần cứng hàng hóa và hàng triệu máy chủ trong triển khai doanh nghiệp, quản trị viên mạng đám mây cần lập kế hoạch cho CPU, RAM không thể tránh khỏi, & lỗi phần cứng hệ thống khác. Nhiều bản sao lưu và tính xác thực của từng trường hợp trong trường hợp lỗi đơn vị là một phần chính của lưu trữ RAID trong đó các nguyên tắc tương tự áp dụng cho các máy chủ đám mây trong các cụm đàn hồi thông qua Định lý CAP & Thuật toán Paxos. CoreOS đã giải quyết những vấn đề này với etcd cho phép nâng cấp các cụm Kubernetes thông qua tự cập nhật & sửa chữa các quy trình đẩy các bản cập nhật không đồng bộ phối hợp đến các máy chủ bằng cách sử dụng các khóa khởi động lại. Điều này cho phép ứng dụng dễ dàng hơn các bản cập nhật hàng loạt các bản vá bảo mật trong một trung tâm dữ liệu trên một số lượng lớn máy chủ rackmount tại một thời điểm. etcd có các ứng dụng lưu trữ tốt hơn để lưu cấu hình, khóa riêng, thay đổi mật khẩu và các biến môi trường khác cho máy chủ web trong trường hợp lỗi phần cứng khiến nó trở thành một tiêu chuẩn chính trong ngành trên các nền tảng về các điều khoản cấp phép nguồn mở. etcd được Google (CFS, GFS, Big Table, Chubby, Spanner), Amazon (Nhật ký sao chép của E2), Microsoft (Boxwood), Hadoop (ZooKeeper) và nhiều công ty phần mềm đám mây khác giải quyết , bảo vệ máy chủ web, mất khóa mã hóa riêng, & các biến cấu hình khác với lỗi phần cứng trung tâm dữ liệu. Docker & các thùng chứa rkt cô lập mã ứng dụng web / di động bao gồm cả người dùng chạy đầu vào từ hệ điều hành phần cứng để bảo mật dữ liệu tổng thể tốt hơn trong đám mây.

Video giới thiệu: Brandon Philips (Hội nghị Linux 2015 – Auckland, New Zealand)

CoreOS: Giới thiệu – "Các mô hình kiến ​​trúc của một nền tảng quy mô lớn đang thay đổi. Các máy ảo chuyên dụng và các công cụ quản lý cấu hình đang được thay thế bằng container và các công nghệ quản lý dịch vụ mới như systemd. Bài trình bày này sẽ giới thiệu tổng quan về các công nghệ chính của họ, bao gồm etcd, đội tàu và docker. Hãy đến và tìm hiểu cách sử dụng các công nghệ mới này để xây dựng các hệ thống phân tán lớn, đáng tin cậy." Tìm hiểu thêm về CoreOS, Kubernetes, & Container Linux

Điều quan trọng là phải hiểu sự khác biệt giữa các thùng chứa ứng dụng và các thùng chứa hệ thống hoạt động như một VM, chẳng hạn như VPS hoạt động trong các nền tảng OpenVZ, KVM, Xen, Parallels, VMware, v.v. Các thùng chứa cung cấp một bộ ảo hóa ảo hóa thay thế có thể được sử dụng để tạo ra các giải pháp hướng đối tượng ở các lớp khác nhau của một trung tâm dữ liệu thông qua việc sử dụng các phân vùng bị cô lập. VPS / VM có thể được cài đặt và thu nhỏ trong các cụm đàn hồi trong các thùng chứa và ngược lại. Sự kết hợp giữa các cấu hình bộ chứa với nhiều nền tảng ảo hóa khác có sẵn trên thị trường có thể được sử dụng để tạo ra các giải pháp phức tạp cho doanh nghiệp CNTT, nhà cung cấp SaaS / PaaS / IaaS, ứng dụng phần mềm di động và công ty lưu trữ web. Hầu hết các giải pháp vùng chứa không bao gồm SSH chuyên dụng & các công cụ mạng đặc trưng cho các trường hợp VPS hoặc VM, nhưng đây là một phần trong những gì dẫn đến các thùng chứa ứng dụng được sử dụng trong sản xuất dựa trên các bản phân phối Linux nhẹ nhất hiện có. Thực tiễn hiện tại trong DevOps là bao gồm toàn bộ ngăn xếp Linux cho lớp mã trên cùng trong sản xuất đi kèm với tất cả các tiện ích mở rộng máy chủ cụ thể được yêu cầu bởi web & ứng dụng di động thông qua các gói xây dựng hoặc nhị phân. Cách duy nhất mà Docker và rkt container sử dụng kernel Unix và Unix API dẫn đến sự kết hợp của sự cô lập & các không gian tên toàn cầu có thể được sử dụng để ánh xạ các biến cấu hình bên trong / bên ngoài các container để tiêu thụ tài nguyên bị cô lập tốt hơn trên phần cứng máy chủ web trong các trung tâm dữ liệu.

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

rkt với CoreOS, Fedora, ArchLinux, & NixOS – "Đơn vị thực thi cốt lõi của rkt là nhóm, một tập hợp của một hoặc nhiều ứng dụng thực thi trong ngữ cảnh được chia sẻ (các nhóm của rkt đồng nghĩa với khái niệm trong hệ thống phối hợp Kubernetes). rkt cho phép người dùng áp dụng các cấu hình khác nhau (như tham số cách ly) ở cả cấp độ nhóm và ở cấp độ chi tiết hơn cho mỗi ứng dụng. Kiến trúc của rkt có nghĩa là mỗi nhóm thực thi trực tiếp trong mô hình quy trình Unix cổ điển (nghĩa là không có trình nền trung tâm), trong một môi trường biệt lập, khép kín. rkt thực hiện một định dạng bộ chứa tiêu chuẩn, mở, hiện đại, thông số App Container (appc), nhưng cũng có thể thực thi các hình ảnh chứa khác, giống như các hình ảnh được tạo bằng Docker." Tìm hiểu thêm về Công cụ Container rkt

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

Xây dựng & Triển khai các Container ở quy mô: "Sử dụng Quay.io để tự động hóa các bản dựng container của bạn, tích hợp với GitHub, Bitbucket và hơn thế nữa … Quay liên tục quét các thùng chứa của bạn để tìm lỗ hổng, cung cấp cho bạn khả năng hiển thị đầy đủ các vấn đề đã biết và cách khắc phục chúng." Tìm hiểu thêm về Quay.io

Video giới thiệu: Kelsey Hightower (Hội thảo CoreOS 2015 – Geekdom, SF)

Điều phối container bằng CoreOS và Kubernetes – "Hội thảo thực hành này … sẽ dạy các cách thực hành hiện đại cho việc sắp xếp container và hiển thị các ví dụ về cách các thành phần phối hợp với nhau để quản lý một cụm các thùng chứa Linux. Với khả năng cung cấp năng lượng cho cơ sở hạ tầng trên đám mây hoặc trên kim loại trần, phiên này sẽ sử dụng Kubernetes với CoreOS làm ví dụ cho người tham dự cách triển khai và quản lý ứng dụng web nhiều tầng." Tìm hiểu thêm về CoreOS & Kubernetes

Theo Kelsey Hightower, một nhà truyền giáo nổi tiếng Kubernetes, người đã làm việc tại Google & CoreOS, Kubernetes không cạnh tranh với CloudFoundry, Heroku hoặc OpenDeis như một "đường dẫn hoàn thành" cho DevOps và các giải pháp lưu trữ đám mây trong sản xuất. Thay vào đó, nó là một khung ảo hóa chủ yếu chuyên về quản lý container, lập lịch và phát hiện dịch vụ mà nhiều công ty PaaS / SaaS cạnh tranh có thể xây dựng các giải pháp nguồn mở mới xung quanh với khả năng tương tác đa nền tảng và tính di động dữ liệu lớn hơn giữa các nhà cung cấp dịch vụ lưu trữ đám mây. Khám phá dịch vụ Kubernetes chủ yếu liên quan đến giám sát và điều chỉnh số lượng nút máy chủ trong một cụm đàn hồi và sử dụng etcd để đồng bộ hóa giữa các bản sao với các cập nhật thay đổi trạng thái. Không giống như Docker, sử dụng địa chỉ IP được chia sẻ cho các container, Kubernetes cung cấp một địa chỉ IP duy nhất cho mọi nhóm trong khi duy trì liên lạc giữa tất cả các nút máy chủ trong mạng. Các địa chỉ IP duy nhất tách mã ứng dụng web / di động khỏi hệ điều hành container bên dưới, cho phép mọi phần mở rộng ngôn ngữ lập trình, nền tảng máy chủ web hoặc ngăn xếp tùy chỉnh được chạy trong sản xuất được tích hợp với các công cụ kiểm soát phiên bản hoặc xuất bản liên tục trong DevOps. Các lựa chọn thay thế khác cho Docker & container rkt là:

  • LXC
  • Vườn đúc đám mây
  • Công cụ đóng gói Mesos
  • systemd-nspawn
  • Google lmctfy (không còn tồn tại)

Lập kế hoạch công việc, khám phá dịch vụ, & quản lý cụm là các khía cạnh chính của kiến ​​trúc trung tâm dữ liệu mà các container cải thiện cho các mạng máy chủ web. Trước những tiến bộ trong CoreOS, RancherOS và các giải pháp Container Linux khác, các lập trình viên trong giai đoạn đầu tiên của dịch vụ lưu trữ đám mây đã sử dụng các tập lệnh Chef / Puppet để chia sẻ ảnh chụp nhanh cho các bản cài đặt container tự động ở quy mô. Các bộ chứa giúp dễ dàng hơn để hỗ trợ các ứng dụng Python, Java, Nginx, MySQL, OpenSSL, v.v. trong thời gian chạy. Các container cũng mở ra tính linh hoạt cao hơn cho các nhà phát triển trong việc duy trì mã hoạt động giữa các bản cập nhật nền tảng mở rộng để giữ cho các máy chủ web được vá trong khi đảm bảo rằng các bản cập nhật bảo mật không phá vỡ mã sản xuất. Bởi vì điều này là khó khăn trong thực tế, nguyên tắc của Container Linux là giữ cho hệ điều hành đơn giản. Bằng cách chỉ duy trì bảo mật kernel và không bao giờ phá vỡ API kernel trong Linux, các container có thể chạy trong không gian người dùng với tất cả các tiện ích mở rộng & các công cụ tách biệt với bảo mật tổng thể cao hơn trong quản lý mạng nhiều bên thuê.

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

CoreOS Container Linux – "Kubernetes là phần mềm quản lý container mạnh mẽ lấy cảm hứng từ Google’kinh nghiệm hoạt động với container. Các tính năng thiết yếu như khám phá dịch vụ, tự động cân bằng tải, sao chép container và nhiều tính năng khác được tích hợp. Ngoài ra, nó’Tất cả được cung cấp thông qua API HTTP … Các thùng chứa Linux cung cấp nhiều lợi ích cho cả nhóm phát triển ứng dụng và nhóm vận hành. Container Linux chỉ cho phép cài đặt phần mềm dưới dạng vùng chứa, đây là lớp trừu tượng quan trọng giữa hệ điều hành và các ứng dụng (và phụ thuộc) chạy trên đầu trang." Tìm hiểu thêm về Container Linux

Video khái niệm: etcd v 3 – Brandon Philips (CTO / CoreOS đồng sáng lập)

Raft: Giao thức đồng thuận phân tán – "etcd được viết bằng Go có hỗ trợ đa nền tảng tuyệt vời, các tệp nhị phân nhỏ và một cộng đồng tuyệt vời đằng sau nó. Giao tiếp giữa các máy etcd được xử lý thông qua thuật toán đồng thuận Raft." Tìm hiểu thêm về Raft DCP

Hệ thống Kubernetes cho phép các thành phần khác nhau được sử dụng trong các cấp độ cụm nút máy chủ web tự động mở rộng, ví dụ như sử dụng Terraform, Fleet (tương tự như Hệ thống D), Mesos, CoreOS Tectonic, Docker Swarm, v.v … trong đó vvd là thành phần quan trọng ( tương tự như Thợ khóa) điều phối các thay đổi trạng thái từ các thay đổi đầu vào biến của người dùng trên các cụm đàn hồi với nhiều quy trình chạy đồng thời trong sự cô lập. Con rối & Kịch bản đầu bếp cũng có thể được thực hiện. Theo cách này, quản trị viên hệ thống có thể thiết lập các tham số như chạy 100 phiên bản của ứng dụng SaaS (trang web hoặc ứng dụng di động) với 1 GB RAM và bộ lập lịch Kubernetes sẽ duy trì các mức trên các tài nguyên hệ thống như nhiệt kế mở rộng máy chủ và tắt các nút theo yêu cầu của nhà nước mạng. Do đó, không nên sử dụng các bản dựng lớn với nhiều tệp tĩnh được lưu trữ trong các máy chủ web dựa trên vùng chứa được sao chép, dẫn đến chức năng lưu trữ đám mây được điều khiển API nhiều hơn, tất cả các máy chủ web nút đàn hồi có thể được yêu cầu theo yêu cầu lưu lượng https . Điều này cũng cho phép các cơ chế khám phá dịch vụ (SkyDNS, Discoverd, Confd, Magic proxy, v.v.) liên quan đến định vị địa lý của người dùng từ các yêu cầu của trình duyệt trên các mạng công cộng để cân bằng tải tốt hơn, cũng như xây dựng các giải pháp mới cho bộ đệm ẩn proxy ngược nội bộ trong các trung tâm dữ liệu cho hiệu suất lưu trữ web tốt hơn.

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

Dockerfile Xây dựng trong đám mây – "Muốn sử dụng Dockerfiles để xây dựng hình ảnh của bạn? Chỉ cần tải lên Dockerfile của bạn (và bất kỳ tệp bổ sung nào cần) và chúng tôi sẽ xây dựng Dockerfile của bạn thành một hình ảnh và đẩy nó vào kho lưu trữ của bạn. Nếu bạn lưu trữ Dockerfile của mình trong GitHub, Bitbucket hoặc Gitlab, hãy thêm Trình kích hoạt xây dựng vào kho lưu trữ của bạn và chúng tôi sẽ bắt đầu xây dựng Dockerfile cho mọi thay đổi bạn thực hiện … Chia sẻ bất kỳ kho lưu trữ nào với nhiều (hoặc ít) người dùng như bạn chọn. Cần một kho lưu trữ chỉ cho nhóm của bạn? Dễ dàng chia sẻ với các thành viên trong nhóm của bạn … Bạn muốn chia sẻ với mọi người? Làm cho kho lưu trữ của bạn hoàn toàn công khai." Tìm hiểu thêm về Quay.io

Phân phối Linux nhẹ cho các cụm máy chủ web & ứng dụng SaaS bản địa

vân vân & Kubernetes Cluster States – "etcd là một kho lưu trữ khóa phân tán cung cấp một cách đáng tin cậy để lưu trữ dữ liệu trên một cụm máy. Nó’mã nguồn mở và có sẵn trên GitHub. vvd duyên dáng xử lý các cuộc bầu cử lãnh đạo trong các phân vùng mạng và sẽ chịu đựng được sự cố máy, bao gồm cả nhà lãnh đạo." Tìm hiểu thêm về CoreOS & Kubernetes (vân vân)

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me