0


K8S安装部署保姆级教学(有手就行)+harbor镜像仓库+docker

一、前言

有很多人写k8s部署的文章,作为新手的我看了以后感觉有一个通病,几乎所有人都是站在老手的角度来教学,很多细节一带而过,对于新手很不友好,包括我自己最开始接触的时候就连退出、保存、编辑这些命令都弄不明白。所以我决定自己写一篇完全适合小白的k8s部署教程,就算你0基础一样可以看懂,按照步骤就可以搭建好。

二、目标任务

部署图形化界面的k8s+图形化界面harbor+docker

三台管理节点+三台计算节点+一台镜像仓库(harbor)

三、准备工作

首先这个是需要联网的,不是离线版安装(因为离线版我还不会),其次你要有台虚拟机,做出多个客户机

1、服务器:我这里直接用7台虚拟机,三台管理节点+三台计算节点+一台镜像仓库 (全部为联网状态)

管理节点服务器命名为:guanlijiedian1、guanlijiedian2、guanlijiedian3

计算节点服务器命名为:jisuanjiedian1、jisuanjiedian2、jisuanjiedian3

镜像仓库服务器命名为:harbor

2、系统:全部为ubuntu(64位)22.04

3、文件:harbor安装包、docker安装包(可以找我要)

4、软件:xshell、CRT什么的都可以,推荐MobaXterm,因为它可以批量配置

5、简单了解它们之间的关系

                      +---------------------+
                       |    镜像仓库Harbor  |
                       |  (Docker Registry)  |
                       +----------+----------+
                                  |
                                  |  推送镜像
                                  |
                       +----------v----------+
                       | Kubernetes(k8s)|
                       |      管理节点       |
                       |         (3 个)         |
                       +----------+----------+
                                  |
                                  | 
                                  |
          +-----------------------+------------------------+
          |                                  |                               |

+----------v----------+ +----------v----------+ +----------v----------+
| 计算节点1 | | 计算节点 2 | | 计算节点3 |
| (Docker Engine) | | (Docker Engine) | | (Docker Engine)|
| +--------------+ | | +--------------+ | | +--------------+ |
| | 容器1 | | | | 容器 1 | | | | 容器1 | |
| +--------------+ | | +--------------+ | | +--------------+ |
| | 容器 2 | | | | 容器 2 | | | | 容器2 | |
| +--------------+ | | +--------------+ | | +--------------+ |
+----------------------+ +----------------------+ +----------------------+

四、分别进入7台服务器

4.1 安装基础软件

ubuntu22.04新系统做好后设置root密码,在root账户下

vim、SSH、curl可能是用不了的,这里下载一下,如果有这步直接跳过

apt update //更新一下软件列表

apt install openssh-server**** //安装SSH****

sudo systemctl start ssh**** //手动开启SSH****

sudo systemctl enable ssh //SSH开机自启

apt install vim //安装vim

apt install curl //安装curl

4.2 开启root可以被SSH,修改主机名

vi /etc/ssh/sshd config

e572a19c0f134f61aa21ed9b0840250b.png

找到PermitRootLogin这个行,按a为编辑模式,以下进入文件后编辑都先按a,然后改成图片这样,后边是yes

05f9518995bd419796c93bd8d5920282.png

修改好后先按esc退出编辑模式,按冒号:输入wq,保存7c5ba88e34e1488fb1b934d64fd97b09.png

systemctl restart ssh //重启SSH

hostnamectl set-hostname jisuanjiedian1 //修改主机名为jisuanjiedian1

以此类推,其他几个服务器名字改为jisuanjiedian2-3、guanlijiedian1-3、harbor

efcb38889f6f4395a38a9f9481a4f8bb.png

*注意7台服务器都需要修改

4.3 SSH到k8s的6台服务器

关闭swap分区 vi /etc/fstab

4a0c4cf05a88492294100f8a0f15c553.png

最后一行swap注释掉,注释方法为:进入编辑模式,在最后一行第一位输入#,该行被注释掉,删除#就是取消注释,然后保存退出

ccf5055ad2d744d0bb838060b500acbc.png

swapoff -a//关闭所有的交换空间

4.4 安装依赖包

sudo apt install socat conntrack ebtables ipset -y

f9e17deed23346999918d97b1754b588.png

4.5 部署k8s(kubernetes)

注意,现在是安装k8s,它只需要放在一台服务器中,在三台管理节点中任意选择一台服务器,以下操作均在一台服务器上执行,下面图中所出现的计算机名可能是master01或者ceshi1等其他的,不要管那是我随便找的截图,主要看命令返回提示跟图片是否一致

4.6 下载kk安装工具

export KKZONE=cn

curl -sfL https://get-kk.kubesphere.io | sh -

ece81b0a763c4c0a87d34aede4350a04.png

4.7 给kk授予执行权限

chmod +x kk

4.8 创建部署文件

./kk create config --with-kubernetes v1.26.15

编辑vi config-sample.yaml

0c64b1ee137044509137f54620cd3557.png

进入配置文件后修改以下几处:hosts、etcd、control-plane、worker

hosts部分:name:6行分别写成6台k8s中服务器主机名,address跟internalAddress都修改为这6台服务区的IP地址,user 为服务器账户 root ,password为6台服务器密码

etcd、control-plane部分:两个都填写一模一样,名字是管理节点3台服务器主机名

worker部分:填写3台计算节点名字

internalLoadbalancer: haproxy 负载均衡器、单个管理节点注释internalLoadbalancer: haproxy 多个管理节点解除注释,以下图为标准

4.9 创建 Kubernetes 集群

./kk create cluster -f config-sample.yaml 等待部署完成,提示如下

5d107f162b2e4a489603f0fd6fb051f1.png

输入yes下载镜像

f7b44723b0bf442f8bcefa560ec38527.png

5.0 部署管理界面

helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.2.tgz --debug --wait --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks --set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks

执行后需要等待一段时间,知道提示跟第二张图一模一样就部署成功了

f2e07024addf494ba20742bca4962202.png

764bf1fee2bc4c02976ffadbfc535cf7.png

部署成功后访问存放k8s服务器的ip+30880,进入管理页面,默认账户为admin/P@88w0rd

07840ad181e5401991d2ce44672b3441.png

可以访问页面后

五、部署docker、harbor

5.1 进入第7台服务器,主机名为harbor那台,把准备还的harbor安装包跟docker安装包上传到服务器

找到存储两个安装包的文件夹,以我的为例,我创建了个harbor的文件夹,两个安装包都放了进去

解压docker

tar -zxvf docker-20.10.24 amd64.tgz 我的安装包名字就是docker-20.10.24 amd64.tgz,这个根据实际情况替换

8b6c865185bf4748be16d2873b7eb066.png

5.2 复制解压的docker文件,启动docker

mv docker/* /usr/bin/

chmod -R +x /usr/bin/docker*

groupadd docker

1042ccc9186c4259ab3f745baaa537a4.png

5.3 编辑docker启动文件

vi /usr/lib/systemd/system/docker.service

55cd438d932047b4ba0a7c7211a966ff.png

粘贴下面所有配置文件

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=1048576

LimitNPROC=1048576

TimeoutStartSec=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

6d1be76d3dec4e8590755963e8324c4a.png

保存退出

5.4 配置镜像加速 (这步可有可无,不影响使用)

sudo mkdir -p /etc/docker //创建文件夹

cd /etc/docker //进入该文件夹

复制下面文件

tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://tyh2edm8.mirror.aliyuncs.com"] } EOF

5d1393380c634ba3b42d04426976d5b1.png

参照图片的内容修改位置

LL查看目录下有damon.json表示成功

ad6d135630704e829921c8459435cbad.png

5.5 启动docker

systemctl daemon-reload

systemctl restart docker

5.6 安装docker-compose

上传docker-compose

mv docker-compose /usr/local/bin/

添加权限

chmod +x /usr/local/bin/docker-compose

830b3a1f324d47348ae9e13038cdac9a.png

Docker images //执行不报错说明启动成功

cecc4cd0498a45d5900706eba28dd809.png

Docker ps //执行不报错说明启动成功

43fa6d5ad914453f817db3a756b3243c.png

到这里docker安装完成

docker的常用命令

systemctl daemon-reload //立即生效

systemctl start docker //启动docker

systemctl stop docker //停止docker

systemctl restart docker //重启docker

systemctl enable docker //开机自启docker

六、安装harbor

它跟docker在同一台服务器下

6.1 跟解压docker安装包一样,到存放安装包的目录下

解压harbor

tar -zxvf harbor-offline-installer-v2.10.0.tgz

531b8e9999f14453961a9e246ff56012.png

6.2

cd harbor //编辑配置文件

mv harbor.yml.tmpl harbor.yml 重命名文件

vi harbor.yaml 修改harbor.yaml配置文件

两处修改:修改hostname为本机IP地址(截图中没截到)、注释掉https部分,保存退出

040688d41c6b44e4aaea41c855637ba4.png

6.3 到目录下开始安装harbor

./install.sh

d02f5ef8d0bd4d8b94c8a67c8e435e91.png

提示成功如上图

登录地址为harbor服务器IP 账号:admin 密码:Harbor12345


本文转载自: https://blog.csdn.net/qq_34794370/article/details/143613491
版权归原作者 李时珍里皮 所有, 如有侵权,请联系我们删除。

“K8S安装部署保姆级教学(有手就行)+harbor镜像仓库+docker”的评论:

还没有评论