查看Docker版本号的命令为(查看docker安装的版本)

查看Docker版本号的命令为(查看docker安装的版本)Kubernetes K8s 安装 使用 kubeadm 安装 Kubernetes 集群 概述 这篇文章是为了介绍使用 kubeadm 安装 Kubernetes 集群 可以用于生产级别 使用了 Centos 7 系统 PS 篇幅有点长 但是比较详细 比较全面 一 Centos7 配置说明 1 1 nbsp nbsp Firewalld 防火墙 CentOS Linux 7

大家好,我是讯享网,很高兴认识大家。



这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别)。使用了Centos 7系统。

PS:

篇幅有点长,但是比较详细、比较全面

关闭防火墙的命令:

执行命令:

最低配置

推荐配置

Node:至少4 Core和16G内存

Master:4 core和16G内存

Node:应根据需要运行的容器数量进行配置

CentOS 7

说明:

以上为建议配置,实际安装过程中,Master必须2 core 及以上(否则安装失败,切记),Node可以采用1 core。

主机名

Centos版本

ip

docker version

flannel version

Keepalived version

主机配置

备注

master01

7.6.1810

192.168.0.6

18.09.9

v0.11.0

v1.3.5

2C1G

control plane

work01

7.6.1810

192.168.0.10

18.09.9

/

/

1C1G

worker nodes

work02

7.6.1810

192.168.0.12

18.09.9

/

/

1C1G

worker nodes

VIP

7.6.1810

192.168.0.130

18.09.9

v0.11.0

v1.3.5

4C4G

在control plane上浮动

client

7.6.1810

192.168.0.234

/

/

/

4C4G

client(可不需要)

共有7台服务器,3台control plane,3台work,1台client。

k8s 版本(可根据需要进行更改):

主机名

kubelet version

kubeadm version

kubectl version

备注

master01

v1.16.4

v1.16.4

v1.16.4

kubectl选装

work01

v1.16.4

v1.16.4

v1.16.4

kubectl选装

work02

v1.16.4

v1.16.4

v1.16.4


讯享网

kubectl选装

client

/

/

v1.16.4

client

说明:

退出重新登陆即可显示新设置的主机名master01,重新登录之后

临时禁用,执行以下命令:

永久禁用,需要在swapoff -a之后,执行以下命令:

2.3.4.2 更新缓存

安装docker之前,最好确认一下,kubernetes支持哪些版本的docker(kubernetes和docker的版本要对应,否则可能会造成重新安装)。

3.1 卸载/更新已经安装的Docker

3.2.2 安装依赖包

3.2.3 设置从stable仓库获取docker

3.2.4 安装Docker

说明:

执行以上命令之前,可以看看docker版本,执行以下命令查看

3.2.5 启动Docker(并设置为开机启动)

加载bash-completion

3.2.7 镜像加速(并修改Cgoup Driver)

{

 
  
讯享网

说明:

修改cgroupdriver是为了消除告警:

写入新的配置

vrrp_instance VI_1 {

讯享网

}

EOF

说明:

特别注意红色字体文本,master01是主机名称(如果有其他主机则使用对应的主机名称进行替换),enp0s3是网卡名称(每个linux系统可能不一致),192.168.0.130是虚拟IP

4.3 启动keepalived

可以看到VIP在master01(目前只有一台master,以后可能会有多个master)上

说明:

本文安装的kubelet版本是1.16.4,该版本支持的docker版本为1.13.1, 17.03, 17.06, 17.09, 18.06, 18.09。

5.2 安装kubelet、kubeadm和kubectl(注意版本号,根据需要进行改变)

说明:

5.4 命令补全

直接执行以下命令(灰色背景部分):

注意:

如果需要下载其他的kubernetes版本,需要修改对应的版本号(红色字体部分)

5.6 查看已经下载的镜像

说明:

K8s网络插件有很多,使用网络插件之前,要进行判断是否和系统适配。

如果系统没有br_netfilter模块则执行下面的新增命令,如有则忽略。

永久新增br_netfilter模块:

6.2 内核参数永久修改

说明:

如安装网络插件之后,长时间状态没有变更,则可以试试重启机器(或者是虚拟机,这里是指Centos 7系统)。

Master的kubernetes之前,须先确定要确定的网络插件(因为可能会影响到初始化的参数),不同的系统可能需要使用不同的网络插件(Centos 不支持 Calico)。

建议先阅读网络插件资料。(Kubernetes所有网络插件说明:这里)

7.1.2 查看init.default.yaml文件

  • master01
  • node01
  • node02
  • 192.168.0.6
  • 192.168.0.10
  • 192.168.0.12
  • 192.168.0.130
    controlPlaneEndpoint: "192.168.0.130:6443"

说明:

注意红色字体部分内容,需要根据init.default.yaml文件和自己的需要进行更改

7.2 初始化kubernetes

说明:

如果初始化失败,可执行kubeadm reset后重新初始化(执行以下两条命令)

初始化成功,如下图:

按照提示执行下面的命令,复制配置文件到普通用户的home目录下:

在其他位置(或者主机),保存如下信息(其他node节点加入集群时使用):

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

https://kubernetes.io/docs/concepts/cluster-administration/addons/

 

Then you can join any number of worker nodes by running the following on each as root:

7.3 加载环境变量

如果master节点的防火墙已经关闭,可以直接跳过此小节

如果node已经加入其它集群,需要退出集群,请执行在node上执行:

查看防火墙状态:

开启6443端口

命令含义:

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

说明:

Kubernetes集群中的Service可使用的物理机端口号范围为30000~32767

一次全部公开所有可能使用的端口:

讯享网

把两行信息复制出来,在node节点执行,如下图:(join成功)

在master节点,执行以下命令查看已经加入的节点

说明:

由于没有安装网络插件,这里STATUS为NotReady

说明:

由于网络原因,可能会安装失败,可以在浏览器直接下载kube-flannel.yml文件(也可以在浏览器打开url地址,然后复制文件内容到文件),然后再执行apply

查看节点状态,执行以下命令:

说明:

STATUS从NotReady变为Ready

10.2 更新缓存

10.3 安装kubectl

加载bash-completion

10.5 从Master节点拷贝admin.conf

说明:

192.168.0.6 是master主机

10.6 加载环境变量

10.7 Kubectl 测试

说明:

如果连接超时,可以多试几次。也可以在这里下载

11.2 修改镜像地址

说明:

也可以采用其他的一些镜像(切换镜像,需要更改recommended.yaml文件)

更改镜像操作:

如果需要更改镜像的版本号,需要在阿里云查询一下是否有镜像

下载镜像命令:(注意阿里云是没有带版本号的,需要自己录入版本号)

说明:

配置NodePort,外部通过https://NodeIp:NodePort 访问Dashboard,此时端口为30001


  • kind: ServiceAccount
    name: dashboard-admin

11.5 部署Dashboard

状态查看:

令牌查看:

令牌为(一定要注意可能存在换行的情况):

eyJhbGciOiJSUzI1NiIsImtpZCI6IllkWjQxWENEYnBXYV9rUlNqWTRldjVOYXV3M0tPTklYTVZTWUZWOXp0SHMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tZzRwdzUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNjNmNzllODUtNzMzMy00MDY1LTg1YTEtYzkxZTkzNjk3ZjA0Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.vsizK9ZP53to5aL5d1oyFYAiR8Kt1LaQ_Lkt86yPgHp6QloMS_pLCdD7KZi76deQ4ISTFC9Ldc62zslLtY4qgxNvSUiVWj1bWUn2BfCJ-3jPxpd7ZOgr3Gbp2xAFc3xjgm-qZaOydec9i44CbkdiVDoAjL0Au78yt7aHSW8B6plc2fAYNdywtyIOAMhe7f0gjyRaWrGQje2CVduITxZ-2NCwd3EYQNs31OA-zUPFvel_xi_KzdMBuj4z7DdvIK9wPQHyuke0TIs5dHSUEtiY84erLMg5i0ZGXCd019D5Nrsd78fVe_NbO-NThVReskA-jt1FyhAUesZie4GX-2eL3Q

说明:

如果安装Dashboard过程中出现问题,要仔细进行排查,可能pod还没有安装完成,等待一段时间之后,再看看,如果还是不行,则需要考虑一下中途是否有问题,是否需要重新安装。

如果忘记Token,可以通过以下命令获取:

部署Dashboard之后,由于证书问题导致无法在浏览器浏览(暂时没有找到解决方案,尝试了网上的方式,不行,以下是尝试的过程(可以跳过))

删除已经部署的Dashboard

  1. kubectl delete ns kubernetes-dashboard

https://github.com/kubernetes/dashboard/releases

  1. 阅读参考资料(并执行命令,除了删除命令)

https://blog.51cto.com//

查看状态异常的Pod的详细信息

说明:

可以看到在哪台Node上创建了容器

说明:

如果不关闭防火墙,可能会造成容器产生错误,如no host to route,是因为防火墙拦截了端口。

12.3 Dashboard 证书过期问题

https://www.kubernetes.org.cn/6632.html

CentOS Linux 开放端口:

https://www.cnblogs.com/archoncap/p/5402983.html

Kubernetes所有网络插件说明:

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network

原文地址https://www.cnblogs.com/zhizihuakai/p/12629514.html


小讯
上一篇 2025-04-29 20:10
下一篇 2025-06-12 18:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/188381.html