首页 > 其他分享 >从KubeOperator开启k8s之旅

从KubeOperator开启k8s之旅

时间:2023-06-08 22:05:38浏览次数:46  
标签:Kubernetes 之旅 部署 KubeOperator 离线 k8s 安装包 节点


文章目录

  • 什么是KbueOperator?
  • KubeOperator 的技术优势
  • 部署方式
  • 部署模式
  • Kubernetes 离线安装包
  • 安装环境准备
  • 1 环境要求
  • 2 下载离线包
  • 安装 KubeOperator
  • 访问 KubeOperator
  • 升级 KubeOperator

什么是KbueOperator?

FIT2CLOUD飞致云在2019年11月正式对外发布了容器领域第一个项目——KubeOperator

KubeOperator 是一个开源项目,在离线网络环境下,通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和运营生产级别的 Kubernetes 集群。KubeOperator 是 Jumpserver 明星开源团队在 Kubernetes 领域的的又一全新力作。

KubeOperator的产品架构如图:

从KubeOperator开启k8s之旅_kubeoperator

KubeOperator 的技术优势

  • 按需创建:调用云平台 API,一键快速创建和部署 Kubernetes 集群 (即 Kubernetes as a Service);
  • 按需伸缩:快速伸缩 Kubernetes 集群,优化资源使用效率;
  • 按需修补:快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;
  • 自我修复:通过重建故障节点确保集群可用性;
  • 离线部署:持续更新包括 Kubernetes 及常用组件的离线包;
  • Multi-AZ 支持:通过把 Kuernetes 集群 Master 节点分布在不同的故障域上确保高可用;

部署方式

  1. 一主多节点类型: k8s集群由一个master节点,一个及以上的worker节点组成

2) 多主多节点类型: K8S集由三个master节点,三个及以上的worker节点组成

部署模式

KubeOperator 支持两种部署模式,一种是手动部署,一种是自动部署。

  • 手动模式:用户需要自己准备物理机或虚拟机及 NFS 持久化存储。
  • 自动模式:用户只需要绑定云平台(比如 VMware)账号信息,KubeOperator 会根据预先定义的部署计划来自动创建主机实现一键自动化部署。

Kubernetes 离线安装包

KubeOperator 提供完整的离线 Kubernetes 安装包,每个安装包会被构建成一个独立容器镜像供 KubeOperator 使用,离线安装包中包括以下三种内容:

  • Kubenetes 核心组件:包括 Kubenetes、Docker 及 etcd;
  • Kubenetes 附属组件(镜像):包括网络、存储、监控、Dashboard 及常用工具;
  • 操作系统 RPM 包:除 CentOS 7.6 Minimal 外的其他必备 RPM。安装包容器运行后是一个标准的 Yum 源服务器。


以 Kubernetes 离线包 v1.15.4 为例,其包括的内容如下:

Kubenetes 核心组件

分类 组件名称 版本
核心 kubernetes 1.15.4
核心 etcd 3.3.10
核心 docker docker-ce-18.09.9

安装环境准备

1 环境要求

  • 最低硬件配置: 2 CPU, 4G 内存, 50G 磁盘 (推荐大小是:4核8G内存100G磁盘)
  • 操作系统要求: CentOS 7.6 / 7.7 Minimal (不支持 CentOS 8)

注:CentOS 7.6 Minimal ISO 下载链接:

链接:https://pan.baidu.com/s/1potf65zMMCrUS0MvklAHEw
提取码:4igp

2 下载离线包

请自行下载 KubeOperator 完整离线包,并复制到目标机器的 /tmp 目录下。

  • 下载链接:
  • 链接:https://pan.baidu.com/s/1Ujxukvbhfdk-jMQwvfnmgg
    提取码:khql

安装 KubeOperator

$ cd /tmp
# 解压离线包
$ tar zxvf kubeOperator-v2.1.xx-release.tar.gz
# 查看防火墙状态
$ firewall-cmd --state
# 关闭防火墙
$ systemctl stop firewalld.service
# 进入项目目录
$ cd kubeOperator-v2.1.xx-release
# 运行安装脚本
$ ./kubeopsctl.sh install
# 查看 KubeOperator 状态
$ systemctl status kubeops
Copy

从KubeOperator开启k8s之旅_k8s_02

访问 KubeOperator

KubeOperator 默认监听 HTTP 80 端口。安装完毕后,请使用浏览器登录 KubeOperator 管理控制台。

注:KubeOperator 默认用户名和密码为: admin / kubeoperator@admin123 为了保证系统的安全,请在完成登录后,点击控制台右上角的"修改密码"进行密码的重置。

从KubeOperator开启k8s之旅_kubeoperator_03


修改密码

从KubeOperator开启k8s之旅_CentOS_04

升级 KubeOperator

$ cd /tmp
# 下载新版本离线包
$ wget http://xxxxxxx.kubeOperator-v2.1.xx-release.tar.gz
# 解压离线包
$ tar zxvf kubeOperator-v2.1.xx-release.tar.gz
# 进入项目目录
$ cd kubeOperator-v2.1.xx-release
# 运行升级脚本
$ ./kubeopsctl.sh upgrade
# 查看 KubeOperator 状态
$ systemctl status kubeops


标签:Kubernetes,之旅,部署,KubeOperator,离线,k8s,安装包,节点
From: https://blog.51cto.com/zmedu/6443520

相关文章

  • k8s执行crictl images报错
    FATA[0000]validateserviceconnection:CRIv1imageAPIisnotimplementedforendpoint"unix:///run/containerd/containerd.sock":rpcerror:code=Unimplementeddesc=unknownserviceruntime.v1.ImageService解决方法:找到runtime_type写入"io.conta......
  • k8s~RKE的方式升级Rancher集群
    kubectl安装在主机或者远程访问的笔记本上安装kubectl命令行工具rancher-cluster.yml(RKE配置文件)通过RKE创建kubernetes集群,需要预先设置rancher-cluster.yml配置文件,通过这个配置文件安装kubernetes集群,同时可以指定kubernetes的版本。RKE安装kubernetes集群后,会在RKE二进......
  • k8s实现动态存储
    NFS服务端安装      1.yuminstallnfs-utils-y        k8s所有节点都需要安装上面的nfs包      2.在NFSserver上配置NFS              3.启动NFS服务       systemctlstartnfs-server......
  • K8s 指定 pod 运行在固定ip方式
    Kubernetes指定pod运行在固定ip方式方式一在CalicoGitHubIssues#5196问题的commits#6249提交中,引入新的Pod注释cni.projectcalico.org/hwAddr,用于将指定的MAC地址分配给容器端Veth接口。将Calico升级至v3.24.1或以上版本,使用如下注解轻松设置PodIP和Mac地址。......
  • [Docker/K8S]Docker与K8S的区别
    1定义角度Docker是一种开放源码的应用容器引擎,允许开发人员将其应用和依赖包打包成可移植的容器/镜像中;然后,发布到任何流行的Linux或Windows机器上,也能实现虚拟化。该容器完全使用沙箱机制,彼此之间没有任何接口。k8s,全称kubernetes,是一种开放源码的容器集群管理系统,能......
  • K8S批量删除指定的pod
    K8S批量删除指定的pod应用场景:我自己建了100个test-exporter,生成名称随机,然后我想删除掉这一百个pod,流程如下:1.先看pod,命令kubectlgetpod-nmonitor(这里的-nmonitor指的是我自己pod的容器名称,可以百度一下),如图2.筛选出自己想要删除的pod,我这里通过名称筛选:kubectlgetpod......
  • k8s实战案例之部署redis单机和redis cluster
    1、在k8s上部署redis单机1.1、redis简介redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者SalvatoreSanfilippo在2009年发布,使用C语言编写;redis是基于内存存储,而且是目前比较流行的键值数据库(key-valuedatabase),它提供将内存通过网络远程共享的一种服......
  • k8s Route上的annoation
    在Kubernetes中,Route对象支持使用annotation来添加元数据,以提供有关路由对象的更多信息。可以使用annotation来指定与路由对象相关的信息,例如TLS配置、负载均衡策略、重定向规则等等。要添加annotation,可以按照以下步骤进行操作:1.打开要更改的Route对象的YAML文......
  • 【Azure K8S】AKS升级 Kubernetes version 失败问题的分析与解决
    问题描述创建AzureKubernetesService服务后,需要升级AKS集群的kubernetesversion。在AKS页面的Clusterconfiguration 页面中,选择新的版本1.25.5,确认升级。等待50分钟左右,却等到了升级失败的消息:FailedtosaveKubernetesservice'xxxx-aks3'.Error:Drainofaks-age......
  • k8s
    kubectl创建Pod背后到底发生了什么kubectl创建Pod背后发生了以下一些主要的步骤:kubectl解析配置文件:kubectl会读取Pod的配置文件,通常是YAML或JSON格式,解析其中的内容并将其转换为KubernetesAPI对象。验证配置文件:在创建Pod之前,kubectl会验证Pod配置......