centos7 上根据kuboard.cn手册安装 k8s

2023-10-18 20:38

本文主要是介绍centos7 上根据kuboard.cn手册安装 k8s,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自己手工安装了k8s花费了不少时间,后来发现在kuboard.cn上有安装手册,今天测试一下

环境:

host主机:ubuntu 18.04, 192.168.10.8,虚拟网络 192.168.122.1

kvm虚拟机三台,centos7.8, 192.168.122.10: master,kvm名字 centos7v1

kvm虚拟机三台,centos7.8 ,192.168.122.51: work1,kvm名字 centos7v2

kvm虚拟机三台,centos7.8 ,192.168.122.52: work2,,kvm名字 centos7v3

步骤:准备master的环境并检查

master目前能够上网,已经配置好了。但还没有安装net-tools.否则网络工具不能使用

$ yum install net-tools -y
----- 省略 ----
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm              | 306 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : net-tools-2.0-0.25.20131004git.el7.x86_64                   1/1 验证中      : net-tools-2.0-0.25.20131004git.el7.x86_64                   1/1 已安装:net-tools.x86_64 0:2.0-0.25.20131004git.el7                                   完毕!

使用命令看该机器的IP地址,马上需要使用.

[root@localhost ~]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.122.10  netmask 255.255.255.0  broadcast 192.168.122.255inet6 fe80::5054:ff:feb8:ad60  prefixlen 64  scopeid 0x20<link>ether 52:54:00:b8:ad:60  txqueuelen 1000  (Ethernet)RX packets 4337  bytes 5325748 (5.0 MiB)RX errors 0  dropped 18  overruns 0  frame 0TX packets 1772  bytes 127104 (124.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 ip地址为192.168.122.10,将来作为master的地址使用.

设置机器的名称为k8s-master,将来为了识别比较方便,同时,在/etc/hosts文件尾部添加 127.0.0.1  k8s-master .

[root@localhost ~]# hostnamectl set-hostname k8s-master

 使用lscpu命令看看cpu个数是不是大于2,如果小于2的话,使用virsh edit centos8v1 修改cpu的个数,重启虚拟机。

[root@localhost ~]# lscpu
lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
座:                 2
NUMA 节点:         1
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              42
型号名称:        Intel Xeon E312xx (Sandy Bridge, IBRS update)
步进:              1
CPU MHz:             1396.827
BogoMIPS:            2793.65
超管理器厂商:  KVM
虚拟化类型:     完全
L1d 缓存:          32K
L1i 缓存:          32K
L2 缓存:           4096K
L3 缓存:           16384K
NUMA 节点0 CPU:    0,1
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm ibrs ibpb xsaveopt arat spec_ctrl

步骤:安装docker及kubelet

设置环境变量,并利用kuboard安装脚本进行安装

[root@localhost ~]# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
[root@localhost ~]# curl -sSL https://kuboard.cn/install-script/v1.19.x/install_kubelet.sh | sh -s 1.19.2
已加载插件:fastestmirror
参数 docker 没有匹配
参数 docker-client 没有匹配
参数 docker-client-latest 没有匹配
参数 docker-ce-cli 没有匹配
参数 docker-common 没有匹配
参数 docker-latest 没有匹配
参数 docker-latest-logrotate 没有匹配
参数 docker-logrotate 没有匹配
参数 docker-selinux 没有匹配
参数 docker-engine-selinux 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.163.com* extras: mirrors.163.com* updates: mirrors.163.com
软件包 device-mapper-persistent-data-0.8.5-2.el7.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.186-7.el7_8.2.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 yum-utils.noarch.0.1.1.31-54.el7_8 将被 安装
--> 正在处理依赖关系 python-kitchen,它被软件包 yum-utils-1.1.31-54.el7_8.noarch 需要
--> 正在处理依赖关系 libxml2-python,它被软件包 yum-utils-1.1.31-54.el7_8.noarch 需要
--> 正在检查事务
---> 软件包 libxml2-python.x86_64.0.2.9.1-6.el7.4 将被 安装
---> 软件包 python-kitchen.noarch.0.1.1.1-5.el7 将被 安装
--> 正在处理依赖关系 python-chardet,它被软件包 python-kitchen-1.1.1-5.el7.noarch 需要
--> 正在检查事务
---> 软件包 python-chardet.noarch.0.2.2.1-3.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================Package              架构         版本                     源             大小
================================================================================
正在安装:yum-utils            noarch       1.1.31-54.el7_8          updates       122 k
为依赖而安装:libxml2-python       x86_64       2.9.1-6.el7.4            base          247 kpython-chardet       noarch       2.2.1-3.el7              base          227 kpython-kitchen       noarch       1.1.1-5.el7              base          267 k事务概要
================================================================================
安装  1 软件包 (+3 依赖软件包)总下载量:862 k
安装大小:4.3 M
Downloading packages:
(1/4): libxml2-python-2.9.1-6.el7.4.x86_64.rpm             | 247 kB   00:00
===================省略=======================================================作为依赖被安装:conntrack-tools.x86_64 0:1.4.4-7.el7                                          cri-tools.x86_64 0:1.13.0-0                                                   kubernetes-cni.x86_64 0:0.8.7-0                                               libnetfilter_cthelper.x86_64 0:1.0.0-11.el7                                   libnetfilter_cttimeout.x86_64 0:1.0.0-7.el7                                   libnetfilter_queue.x86_64 0:1.0.2-2.el7_2                                     socat.x86_64 0:1.7.3.2-2.el7                                                  完毕!
[ 1979.111957] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1979.151006] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 1979.333307] ctnetlink v0.93: registering with nfnetlink.Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.
Client: Docker Engine - CommunityVersion:           19.03.11API version:       1.40Go version:        go1.13.10Git commit:        42e35e61f3Built:             Mon Jun  1 09:13:48 2020OS/Arch:           linux/amd64Experimental:      falseServer: Docker Engine - CommunityEngine:Version:          19.03.11API version:      1.40 (minimum version 1.12)Go version:       go1.13.10Git commit:       42e35e61f3Built:            Mon Jun  1 09:12:26 2020OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.2.13GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429runc:Version:          1.0.0-rc10GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dddocker-init:Version:          0.18.0GitCommit:        fec3683
[root@localhost ~]# 

步骤:初始化master节点

关于初始化时用到的环境变量

  • APISERVER_NAME 不能是 master 的 hostname
  • APISERVER_NAME 必须全为小写字母、数字、小数点,不能包含减号
  • POD_SUBNET 所使用的网段不能与 master节点/worker节点 所在的网段重叠。该字段的取值为一个 CIDR 值,如果您对 CIDR 这个概念还不熟悉,请仍然执行 export POD_SUBNET=10.100.0.1/16 命令,不做修改
[root@localhost ~]# export MASTER_IP=192.168.122.10
[root@localhost ~]# export APISERVER_NAME=apiserver.demo
[root@localhost ~]# export POD_SUBNET=10.100.0.1/16
[root@localhost ~]# echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 k8s-master
192.168.122.10    apiserver.demo

确认hosts文件修改正确,然后利用kuboard脚本直接执行,可能需要几分钟的时间。

[root@localhost ~]# curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.2
W0922 11:51:37.529458   10616 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Using Kubernetes version: v1.19.2
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
==================省略  ====================================================================
clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrole.rbac.authorization.k8s.io/calico-node created
clusterrolebinding.rbac.authorization.k8s.io/calico-node created
daemonset.apps/calico-node created
serviceaccount/calico-node created
deployment.apps/calico-kube-controllers created
serviceaccount/calico-kube-controllers created
[root@localhost ~]# 

至此,master 初始化完成。测试master节点是否成功

# watch kubectl get node   
Every 2.0s: kubectl get node                            Tue Sep 22 11:56:05 2020NAME         STATUS     ROLES    AGE     VERSION
k8s-master   NotReady   master   2m29s   v1.19.2#最后如下
Every 2.0s: kubectl get node                            Tue Sep 22 11:59:10 2020NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   5m34s   v1.19.2

安装和初始化完毕

步骤:初始化工作节点

在工作节点上,安装步骤和master节点一样,只是初始化过程不一样。work节点.

首先,在master节点上获取 token以便加入master

[root@k8s-master ~]# kubeadm token create --print-join-command
W0922 14:17:40.774697   24193 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join apiserver.demo:6443 --token v5e4ul.yj7bukqa10lmimv9     --discovery-token-ca-cert-hash sha256:2d4f2273fe696436cfbb883d19d73c8f644ed161676f06548d7952f038aa5f

在安装好的work机器上,执行如下命令,其中token, --discovery-token-ca-cert-hash等全部需要。

[root@k8s-work2 ~]# kubeadm join apiserver.demo:6443   --token v5e4ul.yj7bukqa10lmimv9     --discovery-token-ca-cert-hash sha256:2d4f2273fe696436cfbb883d19d73c8f644ed161676f06548d7952f038aa5f0d 
[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

 到master节点查询. ALL IS DONE

[root@k8s-master ~]# kubectl get node
NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   156m    v1.19.2
k8s-work1    Ready    <none>   47m     v1.19.2
k8s-work2    Ready    <none>   2m52s   v1.19.2
[root@k8s-master ~]# 

 

这篇关于centos7 上根据kuboard.cn手册安装 k8s的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/235004

相关文章

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对