目录

前提条件

镜像准备

网卡名统一配置

关闭禁用主机防火墙和selinux

主机名设置

网络配置

主机映射配置

yum源配置

搭建容器云平台

版本介绍

节点规划

安装kubeeasy部署工具

安装Kubernetes集群

检查集群状态

集群测试

登录Dashboard

配置SSH免密钥

部署Harbor仓库

(1)Harbor仓库简介

(2)安装Harbor仓库

(3)访问Harbor


前提条件

镜像准备

在搭建之前首先准备CentOS-7-x86_64-DVD-2009和chinaskills_cloud_paas_v2.0基本镜像

根据自己电脑自身配置创建两台干净的虚拟机(内存不低于4G,CPU至少两核)

  可以按下图所示进行配置

pass云平台部署 云平台pass层_容器

pass云平台部署 云平台pass层_IP_02

基本的创建工作按以上完成,接下来进入基础配置(注:以下操作两台虚拟机都要做相应配置

网卡名统一配置

1、在创建Centos虚拟机时,在进入配置密码之前可以在安装界面按下Tab键,配置两台虚拟机的网卡名统一(这里的操作一定要做,否则后面网卡名不一致跑脚本会出错)如果没来得及按Tab键,可以关闭虚拟机重新进入

输入命令:

net.ifnames=0 biosdevname=0                        #输入完该命令回车

加载完成后

选择简易版安装,并进行管理员密码设置等工作,待基础配置完成,输入账号密码进入虚拟机

这里就不做展示。

关闭禁用主机防火墙和selinux

systemctl stop firewalld

systemctl disable firewalld

vi /etc/selinux/config

SELINUX=disabled          #修改此项为disabled

主机名设置

2、在安装完成好虚拟机后可以进行主机名的设置, 主机名文件保存在/etc/hostname

命令:hostnamectl set-hostname 新的主机名称

bash 更新主机名(或者重新登录)

网络配置

3、配置网络,编辑网络配置文件

命令:vi /etc/sysconfig/network-scripts/ifcfg-网卡名称

#修改文件中的相关配置(根基自己的实际情况进行配置)

ONBOOT=yes                           #是否开启该网卡

BOOTPROTO=static                 #静态,手动获取IP

IPADDR=192.168.44.100          #主机IP地址

PREFIX=24                                #子网掩码(或写成NETMASK=255.255.255.0)

GATEWAY=192.168.44.2           #网关

配置完网络后,可以通过连接工具XShell、SecureCRT Pro、MobaXterm_Personal等进行连接。

主机映射配置

4、配置主机映射(解析)

方式一

命令:vi /etc/hosts

#在此文件中末尾添加相关配置

主机1IP 主机名1

主机2IP 主机名2

方式二

命令:cat >>/etc/hosts <<EOF

主机1IP 主机名1

主机2IP 主机名2

EOF

yum源配置

5、yum源的配置(在配置之前删除原有的默认源rm -rf /etc/yum.repos.d/* ,或者将其移动到其他目录中)

#首先需要通过连接工具将镜像上传到主机,我这里是上传到了/root目录下,然后挂载系统镜像

镜像挂载

命令:mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt/

cp -rf /mnt/* /opt/centos/

mkdir -p /opt/centos

umount /mnt

yum clean all

mount -o loop /root/chinaskills_cloud_paas_v2.0.iso /mnt/

cp -rf /mnt/* /opt/

umount /mnt

yum源配置

命令:vi /etc/yum.repos.d/源名称.repo

#对该文件进行编辑写入以下内容

[centos]                                         #源标识

name=centos                                #源名称

baseurl=file:///opt/centos               #源路径也叫yum访问的地址

gpgcheck=0                                   #不检查软件的合法性

enabled=1                                      #启用该源

搭建容器云平台

以上两台主机基础环境全部完成后,就可以开始部署容器云平台

版本介绍

底层基础平台部署所涉及的软件及版本如下:

● 操作系统版本:CentOS_7.9.2009

● Docker版本:20.10.12

● Kubernetes版本:1.22.1

● Harbor版本:2.3.4

节点规划

集群节点数要求不低于两台。节点规划如下:

节点IP

角色

备注

192.168.44.100

Master

Kubernetes集群master节点、Harbor仓库节点

192.168.44.200

Worker

Kubernetes集群node节点

安装kubeeasy部署工具

kubeeasy为Kubernetes集群专业部署工具,极大的简化了部署流程。

以下操作步骤全部在Master节点操作

6、平台部署-部署容器云平台

命令:mv /opt/kubeeasy /usr/bin/kubeeasy                 #在管理节点安装kubeeasy工具

kubeeasy --help                                                                 #查看kubeeasy命令帮助

kubeeasy install depend --host 192.168.44.100,192.168.44.200 --user root --password 111111 --offline-file /opt/dependencies/base-rpms.tar.gz                                            #安装依赖程序包群集(此步骤主要为完成docker-ce、git、unzip、vim、wget工具的安装)

部分参数解释如下:

  • ● --host:所有主机节点IP,如:192.168.44.100-192.168.44.200,中间用“-”隔开,表示192.168.44.100到192.168.44.200范围内的所有IP。若IP地址不连续,则列出所有节点IP,用逗号隔开,如:192.168.44.100,192.168.44.200。
  • ● --user:主机登录用户,默认为root。
  • ● --password:主机登录密码,所有节点需保持密码一致。(在操作时请注意主机密码是否正确)
  • ● --offline-file:离线安装包路径。

安装Kubernetes集群

本次安装的Kubernetes版本为v1.22.1。

kubeeasy install kubernetes --master 192.168.44.100 --worker 192.168.44.200 --user root --password 111111 --version 1.22.1 --offline-file /opt/kubernetes.tar.gz                                                                                                                 #安装部署kubernetes

部分参数解释如下:

  • ● --master:Master节点IP。
  • ● --worker:Node节点IP,如有多个Node节点用逗号隔开。
  • ● --version:Kubernetes版本,此处只能为1.22.1。

检查集群状态

部署完成后查看集群状态:

kubectl cluster-info

查看节点负载情况:

kubectl top nodes --use-protocol-buffers

集群测试

kubectl run exam --image nginx:latest --env="exam=2022" --image-pull-policy='IfNotPresent'                                                 #使用镜像nginx在default命名空间下创建一个名为exam的Pod,并设置环境变量exam,其只设置为2022

登录Dashboard

http://Master节点IP:30080/

在浏览器上访问Kubernetes集群Dashboard(http://master_IP:30080)

输入用户名和密码进行登录(admin/Kuboard123)

配置SSH免密钥

安装Kubernetes集群的时候,需要配置Kubernetes集群各节点间的免密登录,方便传输文件和通讯。

在master节点执行以下命令完成集群节点的连通性检测:


[root@localhost ~]# kubeeasy check ssh \--host 192.168.44.100,192.168.44.200 \ --user root \ --password 111111


在master节点执行以下命令完成集群所有节点间的免密钥配置:


[root@localhost ~]# kubeeasy create ssh-keygen \--master 192.168.44.100 \ --worker 192.168.44.200 \ --user root –password 111111


--mater参数后跟master节点IP,--worker参数后跟所有worker节点IP。

完成搭建后,现在再部署一个本地镜像仓库


部署Harbor仓库


(1)Harbor仓库简介

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

(2)安装Harbor仓库

本次安装的Harbor版本为2.3.4。

在master节点执行以下命令进行Harbor仓库的安装:


[root@k8s-master-node1 ~]# kubeeasy add --registry harbor


部署完成后查看Harbor仓库状态:


[root@k8s-master-node1 ~]# systemctl status harbor


创建一个新的Chart,使用Helm工具创建一个新的Chart,命名为nginx[root@k8s-master-node1 ~]#helm create nginx           


(3)访问Harbor

在Web端通过http://master_ip访问Harbor

使用管理员账号(admin/Harbor12345)登录Harbor

至此,容器云平台搭建完成!