随着科技的发展,联网时代的到来,会有越来越多技术概念出现,比如大数据、云、中台等技术概念,而云的概念,云平台是一种抽象的名词,它通过云这种方式,将数据和想要展示的东西存储在云上,企业机构等销售自己产品或者产品的公司不需要将精力放在产品管理上,只需要根据用户需求将已经布置好的产品组合或者展示界面等交付给用户,实现方便的统一管理。
对于企业而言,已建立的内部集成并不能支撑其快速搭建开发环境、快速部署集群服务,并且动态水平扩展对多组织情况许可费用高昂、没有敏捷快速迭代机制,导致开发完毕就落伍,以及不能快速进行产品扩展等现象,解决这一问题的根本方法就是引入k8S云平台。
1整体介绍
云平台管理系统是一种管理公有云、私有云和混合云环境的整合性产品,为企业提供管理跨多个云基础设施的云计算产品。随着IT基础架构的不断发展,跨厂商云资源、物理资源及虚拟资源并存现象的不断涌现,企业对于云管理、云安全、云成本等的要求也不断提高,因此云平台管理系统的出现,就是帮助企业全面解决混合云IT架构下的跨云、多云管理等问题,以及针对云平台下开发、部署、管理、运维、集群配置、运行状态等统一管理的服务产品。
1.1系统框架
UMC云管理平台是为k8s可视化管理而开发的,主要功能是通过调用k8s Api将各租户使用的k8s集群进行可视化管理,简化系统使用者的操作过程和操作难度,提高了工作效率。整体系统架构如下图所示:
底层通过容器化的不同产品作为支撑,包含ESB应用集成平台、MDM基础数据平台、IDM身份管理平台、DAP数据分析平台、BPM流程集成平台、Portal门户集成平台等产品。
中层通过k8s技术可根据企业自身需求对底层容器化的AEAI套件进行统一调度管理。
UMC云管理平台可以对调度过来的各容器化的AEAI集成套件进行统一管理和监控。
1.2功能框架
UMC云管理平台大致分为8个功能:许可查看,可以查看具体内容;租户管理和租户配置,通过管理租户树形结构,将机构、方案、环境、服务器关联起来,统一管理;实例监控,以左树右表的方式,将方案、环境、服务器和容器关联起来,统一监视容器信息,包括基本、状态、心跳、性能等;开发部署分为开发部署和数据处理2个功能,开发部署与实例监控功能基本相同,追加查看部署日志功能,数据处理就是本次要讲解的数据库处理功能;集群管理,用来管理和监视k8s集群的运行状态;基本配置,用来管理方案,产品的具体信息;系统管理,主要沿用数通畅联规范的系统管理。
1.3部署架构
需要部署的程序为:
1台master:
部署:redis单机、NFS、nginx单机、k8s、数据库、镜像库、umc产品;
要求:cpu要大,内存和硬盘适中。
2台worker:
部署:Ingress Controler、k8s、NFS Client;
要求:cpu、内存和硬盘都要尽可能大些。
2环境准备
使用root账户调整配置,以下步骤所有机器都要配置和安装。
如果用户不是root,需要执行下面命令,赋予root权限,如果就是root用户,此步骤忽略。
1)修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,tommy是当前用户,如下所示:
2)修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,输入tommy用户登录密码,即可获得root权限进行操作。
2.1修改主机名称
设置主机名,添加主机名与IP对应关系:
修改hosts文件:
2.2修改安全策略
1.关闭防火墙:
2.关闭selinux:
3.关闭swap:
4.如果虚拟机无需此操作,时间同步【启动chronyd系统服务】。
2.3修改网络映射
将桥接的IPv4流量传递到iptables的链:
添加完毕后执行生效:
执行效果:
3软件安装
所有节点安装Docker/kubeadm/kubelet,以下步骤所有机器都要配置和安装。
3.1安装Docker
1.正常在服务开外围情况下直接执行以下命令即可:
注意:非root用户命令前需要添加“sudo”,并输入当前登录账户服务器密码:
2.如果服务器没有外围,但本地有镜像库的安装docker 步骤如下:
修改YUM中CentOS-Base.Repo地址参数enabled值改成0:
把原来epel.repo的地址修改,原地址如下:
将地址改成如下:
查询docker 版本:
执行:安装docker。
注:如果服务器没有网,只能把已经有网的下载后拷贝到没有网的服务器中进行安装。
以上命令下载后制定目录中命令如下:通过黄色标记部分制定目录,只下载不安装。
然后拷贝到没有网的服务器中手动安装,命令如下:
查看docker版本:
3.2添加YUM软件源
注意:服务器没有网无需此步,直接用下载的安装包往下进行。
在/etc/yum.repos.d目录下vi kubernetes.repo
3.3安装kubeadm
以下是对kubeadm、kubelet、kubectl部署,本次部署也是通过下载好的安装包手动安装。
3.3.1 工具说明
kubeadm: 部署集群用的命令;
kubelet: 在集群中每台机器上都要运行的组件,负责管理pod、容器的生命周期;
kubectl: 集群管理工具(可选,只要在控制集群的节点上安装即可)。
3.3.2安装方法
下载部署包:
然后拷贝到没有网的服务器中进行手动安装,命令如下:
3.4修改Cgroup Driver
注意:非root用户命令前需要添加“sudo”。
修改cgroup driver是为了消除初始化集群时提示的告警:
查看:
s