溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

KubeOperator - 從這里開啟您的 Kubernetes 之旅

發(fā)布時間:2020-08-01 22:59:26 來源:網(wǎng)絡 閱讀:271 作者:wx59a2c7470be97 欄目:云計算

項目地址 https://github.com/KubeOperator/KubeOperator

KubeOperator簡介

什么是 KubeOperator?

KubeOperator 是一個開源項目,在離線網(wǎng)絡環(huán)境下,通過可視化 Web UI 在 VMware、Openstack 或者物理機上規(guī)劃、部署和運營生產級別的 Kubernetes 集群。KubeOperator 是 Jumpserver 明星開源團隊在 Kubernetes 領域的的又一全新力作。

KubeOperator - 從這里開啟您的 Kubernetes 之旅

注: KubeOperator 已通過云原生基金會(CNCF)的 Kubernetes 軟件一致性認證。

KubeOperator 的整體架構

KubeOperator 使用 Terraform 在 IaaS 平臺上自動創(chuàng)建主機(用戶也可以自行準備主機,比如物理機或者虛機),通過 Ansible 完成自動化部署和變更操作,支持 Kubernetes 集群 從 Day 0 規(guī)劃,到 Day 1 部署,到 Day 2 運營的全生命周期管理。

KubeOperator - 從這里開啟您的 Kubernetes 之旅

KubeOperator 的技術優(yōu)勢

  • 簡單易用:提供可視化的 Web UI,極大降低部署和管理門檻;
  • 離線部署:持續(xù)更新包括 Kubernetes 及常用組件(即內置應用)的離線包;
  • 按需創(chuàng)建:調用云平臺 API,一鍵快速創(chuàng)建和部署 Kubernetes 集群;
  • 按需伸縮:快速伸縮 Kubernetes 集群,優(yōu)化資源使用效率;
  • 按需修補:快速升級和修補 Kubernetes 集群,并與社區(qū)最新版本同步,保證安全性;
  • 自我修復:通過重建故障節(jié)點確保集群可用性;
  • 全棧監(jiān)控:提供從Pod、Node到集群的事件、監(jiān)控、告警、和日志方案;
  • Multi-AZ 支持:通過把 Kubernetes 集群 Master 節(jié)點分布在不同的故障域上確保的高可用;

KubeOperator 的功能列表

KubeOperator - 從這里開啟您的 Kubernetes 之旅

具體版本路線圖請參考:Roadmap

KubeOperator 的主要概念

部署模型

KubeOperator 支持兩種類型的 K8s 集群部署,一種是一主多節(jié)點類型,另外一種是多主多節(jié)點類型。

  • 一主多節(jié)點類型:K8s 集群由一個 master 節(jié)點、一個及以上 worker 節(jié)點組成。
  • 多主多節(jié)點類型:K8s 集群由三個 master 節(jié)點、三個及以上 worker 節(jié)點組成。

一主多節(jié)點類型適用于開發(fā)和測試環(huán)境,生產環(huán)境請使用多主多節(jié)點類型。

部署模式

KubeOperator 支持兩種部署模式,一種是手動部署,一種是自動部署。

  • 手動模式:用戶需要自己準備物理機或虛擬機及 NFS 持久化存儲。
  • 自動模式:用戶只需要綁定云平臺(比如 VMware)賬號信息,KubeOperator 會根據(jù)預先定義的部署計劃來自動創(chuàng)建主機實現(xiàn)一鍵自動化部署。

部署計劃(Deploy Plan)

在自動部署模式下,部署計劃定義了 K8s 集群的部署細節(jié),包括其部署模型、集群所在的區(qū)域、可用區(qū)、節(jié)點大小類型等。

區(qū)域(Region)和可用區(qū)(AZ)

區(qū)域(Region)和可用區(qū)(AZ)這兩個術語來自公有云。每個區(qū)域完全獨立。每個可用區(qū)完全隔離,但同一個區(qū)域內的可用區(qū)之間使用低時延鏈路相連。區(qū)域和可用區(qū)之間的關系如下圖所示。

KubeOperator - 從這里開啟您的 Kubernetes 之旅

對于公有云廠商提供的K8s 服務,master 節(jié)點由公有云廠商管理并維護,其 3 個master 節(jié)點會分布在同個區(qū)域下面的 3 個不同可用區(qū)上面,實現(xiàn)真正的高可用。

KubeOperator 借鑒公有云廠商的思路和概念,并應用到 VMware 和 Openstack 等私有云平臺上面。例如,在 VMware 云平臺下,區(qū)域對應為 Datacenter,可用區(qū)對應于 cluster,或者 cluster 下面的 resource pool。

  • 如果用戶只有一個 vSphere 集群,那么可以在集群下面建立三個 resource pool,每個resource pool 對應于一個可用區(qū)。
  • 如果用戶有三個 vSphere 集群,那么每個集群對應于一個可用區(qū)。

注:vSAN 集群不能被多個 vSphere 集群共享,所以 3 個 vSphere 集群,持久化存儲僅支持集中存儲。 具體請參考:https://docs.vmware.com/en/VMware-Enterprise-PKS/1.5/vmware-enterprise-pks-15/GUID-vsphere-persistent-storage.html

Kubernetes 離線安裝包

KubeOperator 提供完整的離線 Kubernetes 安裝包,每個安裝包會被構建成一個獨立容器鏡像供 KubeOperator 使用,離線安裝包中包括以下三種內容:

  • Kubenetes 核心組件:包括 Kubenetes、Docker 及 etcd;
  • Kubenetes 附屬組件(鏡像):包括網(wǎng)絡、存儲、監(jiān)控、Dashboard 及常用工具;
  • 操作系統(tǒng) RPM 包:除 CentOS 7.6 Minimal 外的其他必備 RPM。安裝包容器運行后是一個標準的 Yum 源服務器

Kubernetes 離線安裝包具體信息請參考工程:K8s-package。以 Kubernetes 離線包 v1.15.4 為例,其包括的內容如下:

Kubenetes 核心組件

分類 組件名稱 版本
核心 kubernetes 1.15.4
核心 etcd 3.3.10
核心 docker docker-ce-18.09.9

Kubenetes 附屬組件(鏡像)

分類 組件名稱 版本
網(wǎng)絡 quay.io/coreos/flannel v0.11.0-amd64
網(wǎng)絡 calico/node v3.7.3
網(wǎng)絡 calico/cni v3.7.3
網(wǎng)絡 calico/kube-controllers v3.7.3
網(wǎng)絡 docker.io/coredns/coredns 1.6.0
網(wǎng)絡 docker.io/traefik v1.7.11
網(wǎng)絡 f5networks/K8s-bigip-ctlr 1.9.2
存儲 quay.io/external_storage/nfs-client-provisioner v3.1.0-K8s1.11
監(jiān)控 docker.io/grafana/grafana v1.7.11
監(jiān)控 quay.io/prometheus/alertmanager v0.15.2
監(jiān)控 quay.io/prometheus/node-exporter v1.7.11
監(jiān)控 quay.io/prometheus/prometheus v2.4.3
監(jiān)控 quay.io/prometheus/pushgateway v0.5.2
監(jiān)控 quay.io/coreos/kube-state-metrics v1.4.0
Dashboard kubernetesui/dashboard v2.0.0-beta4
Dashboard kubernetesui/metrics-scraper v1.0.1
工具 gcr.io/google-containers/pause-amd64 3.1
工具 docker.io/registry 2
工具 docker.io/konradkleine/docker-registry-frontend v2
工具 gcr.io/kubernetes-helm/tiller v2.15.0
工具 quay.io/coreos/configmap-reload v0.0.1
工具 docker.io/appropriate/curl edge
工具 weaveworks/scope 1.11.5
工具 quay.io/comcast/kuberhealthy v1.0.2

RPM 包(基于 CentOS 7.6 Minimal 及以上)

分類 組件名稱
RPM dnsmasq
RPM chrony
RPM ntpdate
RPM nfs-utils
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI