K8S单机部署

1. kubekey的使用

1.1 基础设施准备

如果是K8S-allinone(AIO=All In One)的环境,那么需要一台服务器,要求配置高一点:

  • CPU和内存配置为:4C8G;

  • 硬盘空间:50GB;

如果是K8S集群的环境,那么需要三台服务器,配置要求稍微低一点,但是整体要求高:

  • CPU和内存配置为:2C4G;

  • 硬盘空间:25GB;

1.2 实验环境

本实验在CentOS7的操作系统进行,以K8S-allinone环境为基础,请将基础设施服务器配置成符合《虚拟机要求》该文档的相关配置,本文档将不再讲述虚拟机系统安装后应该如何配置。

1.3 kubekey的下载 DaoCloud 灵雀云

官方网址:KubeKey

kubekey属于青云(QingCloud)推出的一款很好用的K8S部署工具,对比传统官方提供的kubeadm,该部署方式有如下优势:

  • 更加简便,配置项更少;

  • 可以直接通过kubekey的yaml部署kubesphere;

  • 通过kk命令可以完成更多的集群管理功能;

具体下载过程如下:

export KKZONE=cn  # 核心环境变量设置,如果不设置,则镜像拉取失败导致整个部署失败
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.2 sh -

最后我们看安装后的结果,实际上就是一个二进制文件kk

kk移动到已经配置好可执行的环境变量目录中:

mv kk /usr/bin

随后尝试用帮助命令确定kk已经部署成功:

[root@k8s-aio ~]# kk -h
Deploy a Kubernetes or KubeSphere cluster efficiently, flexibly and easily. There are three scenarios to use KubeKey.
1. Install Kubernetes only
2. Install Kubernetes and KubeSphere together in one command
3. Install Kubernetes first, then deploy KubeSphere on it using https://github.com/kubesphere/ks-installer
......

1.4 部署指定版本的K8S-AIO环境

1.4.1 kk版本匹配的K8S部署版本
[root@k8s-aio ~]# kk version --show-supported-k8s | sort -rn | head -n 5
v1.25.4
v1.25.3
v1.25.2
v1.25.1
v1.25.0
......(版本实在太多,显示不下了)

本次实验环境采用版本为:v1.22.10

1.4.2 使用kk生成配置文件模板并修改配置文件

kk生成k8s,但是我们需要把配置文件改成符合我们本机设置的,所以先将缺省配置文件模板导出来:

kk create config --with-kubernetes v1.22.10

当前路径下会生成一个名字为config-sample.yaml的配置文件,查看下生成的文件:

我们需要修改如下:

 

这里有一个细节部分,由于kubekey是基于ssh协议控制不同Node的,所以需要部署kubekey的机器,拥有到后端每一台指定用户免密登录的权限

#直接在本机上完成/etc/hosts的配置,和ssh的配置
[root@localhost ~]# hostnamectl set-hostname k8s-master
[root@localhost ~]# echo "192.168.71.141 k8s-master" >> /etc/hosts
[root@k8s-aio ~]# ssh-keygen
...(一路回车)
[root@k8s-aio ~]# ssh-copy-id root@192.168.71.141
...(yes,密码,回车)

1.4.3 额外依赖包的部署

kubekey默认需要一些依赖,目前已知的必要依赖都在下方陈列,请自行根据部署过程报错判断缺少哪个依赖:

yum -y install socat conntrack 

1.4.4 使用配置文件创建集群

整个过程大概需要持续一段时间,可以通过日志查看系统都做了哪些事情:

kk create cluster -f config-sample.yaml
# Continue this installation? [yes/no] yes

可以观察整个部署过程,按照每秒1.5MB/s的带宽来看,整个部署时间大概在12分钟

18:39

18:51

1.4.5 安装验证

检查所有Pod运行状况,必须为Running n/n的状态才是正确的:

查看集群状态:

查看所有节点状态:

注:多节点也就是k8s集群,都是同样和单节点的操作,在config-sample.yaml文件中配置不同如下

 每台机器都要修改主机名,然后增加到hosts文件中,每台机器都添加如下

echo "192.168.64.143 k8s-master" >> /etc/hosts
echo "192.168.64.144 node1" >> /etc/hosts
echo "192.168.64.145 node2" >> /etc/hosts

每台机器都要互相做ssh免密,切记,其他配置都一样了。包括依赖,kk,安装,多节点部署完以后再master节点产看即可哦

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值