Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

KubeOperator-start your Kubernetes journey from here

2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

Project address https://github.com/KubeOperator/KubeOperator

Introduction to KubeOperator what is KubeOperator?

KubeOperator is an open source project that plans, deploys and operates production-level Kubernetes clusters on VMware, Openstack or physical machines through visual Web UI in an offline network environment. KubeOperator is another brand-new work of the Jumpserver star open source team in the Kubernetes field.

Note: KubeOperator has passed the Kubernetes software consistency certification of the Cloud Native Foundation (CNCF).

The overall architecture of KubeOperator

KubeOperator uses Terraform to automatically create hosts on the IaaS platform (users can also prepare hosts themselves, such as physical machines or virtual machines), automate deployment and change operations through Ansible, and support the full lifecycle management of Kubernetes clusters from Day 0 planning to Day 1 deployment to Day 2 operations.

KubeOperator's technical advantages are simple and easy to use: provide visual Web UI, greatly reducing the barriers to deployment and management; offline deployment: continuously update offline packages including Kubernetes and common components (that is, built-in applications); create on demand: call cloud platform API to quickly create and deploy Kubernetes clusters; scale on demand: rapidly scale Kubernetes clusters to optimize resource use efficiency On-demand patching: rapid upgrading and patching of Kubernetes clusters and synchronizing with the latest version of the community to ensure security; self-healing: ensuring cluster availability by rebuilding failed nodes; full stack monitoring: providing event, monitoring, alarm, and logging solutions from Pod, Node to the cluster; Multi-AZ support: high availability ensured by distributing Kubernetes cluster Master nodes on different failure domains; KubeOperator feature list

For more information on the version roadmap, please see Roadmap.

The main Conceptual deployment Model of KubeOperator

KubeOperator supports two types of K8s cluster deployment, one is a primary multi-node type, and the other is a multi-master multi-node type.

One main multi-node type: K8s cluster consists of one master node and one or more worker nodes. Multi-master and multi-node type: K8s cluster consists of three master nodes and three or more worker nodes.

One master multi-node type is suitable for development and test environment, while for production environment, please use multi-master multi-node type.

Deployment mode

KubeOperator supports two deployment modes, one is manual deployment and the other is automatic deployment.

Manual mode: users need to prepare their own physical or virtual machines and NFS persistent storage. Automatic mode: users only need to bind the account information of the cloud platform (such as VMware), and KubeOperator will automatically create hosts to automate deployment according to the pre-defined deployment plan. Deployment Plan (Deploy Plan)

In the automatic deployment mode, the deployment plan defines the deployment details of the K8s cluster, including its deployment model, area where the cluster is located, availability zone, node size type, and so on.

Zone (Region) and availability zone (AZ)

The terms Region and AZ come from the public cloud. Each area is completely independent. Each availability zone is completely isolated, but is connected by a low-latency link between availability zones within the same area. The relationship between the zone and the availability zone is shown in the following figure.

For the K8s service provided by the public cloud vendor, the master node is managed and maintained by the public cloud vendor, and its three master nodes are distributed on three different availability zones under the same area to achieve true high availability.

KubeOperator draws on the ideas and concepts of public cloud vendors and applies them to private cloud platforms such as VMware and Openstack. For example, under the VMware cloud platform, the zone corresponds to Datacenter, and the availability zone corresponds to cluster, or the resource pool under cluster.

If the user has only one vSphere cluster, you can set up three resource pool under the cluster, each resource pool corresponding to an availability zone. If the user has three vSphere clusters, each cluster corresponds to an availability zone.

Note: vSAN clusters cannot be shared by multiple vSphere clusters, so for 3 vSphere clusters, persistent storage only supports centralized storage. For details, please refer to: https://docs.vmware.com/en/VMware-Enterprise-PKS/1.5/vmware-enterprise-pks-15/GUID-vsphere-persistent-storage.html

Kubernetes offline installation package

KubeOperator provides a complete offline Kubernetes installation package. Each installation package is built into a separate container image for KubeOperator to use. The offline installation package includes the following three types:

Kubenetes core components: including Kubenetes, Docker and etcd;Kubenetes accessory components (mirrors): including network, storage, monitoring, Dashboard and common tools; operating system RPM package: other essential RPM except CentOS 7.6 Minimal. The installation package container runs as a standard Yum source server.

For more information about Kubernetes offline installation package, please refer to Project: K8s-package. Take the Kubernetes offline package v1.15.4 as an example, which includes the following:

Kubenetes core components

Classification component name version Core kubernetes1.15.4 Core etcd3.3.10 Core dockerdocker-ce-18.09.9

Kubenetes satellite components (mirrored)

Classified component name version network quay.io/coreos/flannelv0.11.0-amd64 network calico/nodev3.7.3 network calico/cniv3.7.3 network calico/kube-controllersv3.7.3 network docker.io/coredns/coredns1.6.0 network docker.io/traefikv1.7.11 network f5networks/K8s-bigip-ctlr1.9.2 storage quay.io/external_storage/nfs-client-provisionerv3.1.0-K8s1.11 monitoring docker.io/grafana/ Grafanav1.7.11 monitoring quay.io/prometheus/alertmanagerv0.15.2 monitoring quay.io/prometheus/node-exporterv1.7.11 monitoring quay.io/prometheus/prometheusv2.4.3 monitoring quay.io/prometheus/pushgatewayv0.5.2 monitoring quay.io/coreos/kube-state-metricsv1.4.0Dashboardkubernetesui/dashboardv2.0.0-beta4Dashboardkubernetesui/metrics-scraperv1.0.1 tools gcr.io/google-containers/pause-amd643.1 tools docker.io/registry2 tools docker.io/ Konradkleine/docker-registry-frontendv2 tools gcr.io/kubernetes-helm/tillerv2.15.0 tools quay.io/coreos/configmap-reloadv0.0.1 tools docker.io/appropriate/curledge tools weaveworks/scope1.11.5 tools quay.io/comcast/kuberhealthyv1.0.2

RPM package (based on CentOS 7.6 Minimal and above)

Category component name RPMdnsmasqRPMchronyRPMntpdateRPMnfs-utils

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report