kubelet,kubectl,kubeadm三件套

系统:centos 7.7 内核: 5.3.7-1.el7.elrepo.x86_…

系统:centos 7.7
内核: 5.3.7-1.el7.elrepo.x86_64

Linux查看版本当前操作系统内核信息

Linux查看当前操作系统版本信息

Linux查看版本当前操作系统发行版信息

fox.风

设置主机名

设置域名解析

关闭防火墙 、selinux和swap

配置内核参数,将桥接的IPv4流量传递到iptables的链

https://kubernetes.io/docs/tasks/tools/install-kubectl/

base repo

gpkcheck=0 表示对从这个源下载的rpm包不进行校验

docker repo

Kubernetes源

gpkcheck=0 表示对从这个源下载的rpm包不进行校验
repo_gpgcheck:某些安全性配置文件会在 /etc/yum.conf 内全面启用 repo_gpgcheck,以便能检验软件库的中继数据的加密签署

update cache

安装 docker

查看docker版本号,查看 是否安装

这里选择 19.03.1-3.el7 这个版本安装

启动 docker

查看docker 版本

注意:native.cgroupdriver=systemd 官方推荐此配置,地址 https://kubernetes.io/docs/setup/production-environment/container-runtimes/

kubeadm不管kubelet和kubectl,所以我们需要手动安装kubelet和kubectl:

Kubelet负责与其他节点集群通信,并进行本节点Pod和容器生命周期的管理。
Kubeadm是Kubernetes的自动化部署工具,降低了部署难度,提高效率。
Kubectl是Kubernetes集群管理工具。

最后启动kubelet:

注:在master节点上进行如下操作

在安装过程中我们发现安装的是 1.16.2版本

镜像下载

执行 kubeadm config images list 命令就会输出如下所需版本

在master进行Kubernetes集群初始化

这一步很关键,由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过–image-repository指定阿里云镜像仓库地址

集群初始化成功后返回如下信息:
记录生成的最后部分内容,此内容需要在其它节点加入Kubernetes集群时执行。

根据以上结果,还要操作一些任务

只有 Kubernetes集群初始化 完成后才能修改端口范围

默认端口范围:30000-32767
如果只使用这些,那么不用修改

来源
https://github.com/coreos/flannel

注意: 如果上面自定义了pod ip [--pod-network-cidr=10.244.0.0/16] 范围,这里需要修改·kube-flannel.ym·l的net-conf.json, 把 10.244.0.0 修改为 你改动的范围。

如果你的环境迟迟都是NotReady状态,可以kubectl get pod -A看一下pod状态,一般可以发现问题,比如flannel的镜像下载失败啦~
当node Ready的时候,我们可以看到pod也全部ready了:

在master节点输入命令检查集群状态,返回如下结果则集群状态正常

重点查看STATUS内容为Ready时,则说明集群状态正常。

创建Pod以验证集群是否正常。

如果是单机版请看后面的最后配置 单机版 k8s配置

在master节点上进行如下操作

拉取镜像

创建Dashboard的yaml文件

备注
s/k8s.gcr.io/loveone/g 因为墙,所以要更改能访问的
160a \ \ \ \ \ \ nodePort: 30001 增加外部访问端口
161a \ \ type:\ NodePort 增加可外部访问

150行到164行代码如下

部署 Dashboard

如果你部署错误了,那么可以删除 重新来过 kubectl delete -f kubernetes-dashboard.yaml

创建完成后,检查相关服务运行状态

浏览器访问

浏览器输入Dashboard访问地址:

访问成功后,是要选择令牌的,填入 令牌 token 才能进入。令牌怎么来,看如下获取

查看设置访问Dashboard的认证令牌

创建 serviceaccount

绑定 权限

获取令牌

输出如下,

要找到 kubernetes-dashboard的令牌token: 后面内容 就是需要的数据。

使用输出的token登录Dashboard

在浏览器中 选择令牌,把令牌 填入,点击登录,认证通过后,登录Dashboard首页

默认 Master Node不参与工作负载,所以 要配置让Master工作,请安如下2步操作

去掉 taint , 这样 单机 k8s 就能部署各种东东了

https://blog.csdn.net/fenglailea/article/details/91873346

重置 kubeadm init

如果kubeadm init命令后发现配置错误,重新更改怎么办,那么使用kubeadm reset 命令重置

pod 不成功,STATUS 状态一直是 Pending

这里假设kubernetes-dashboard-76f6bf8c57-dqfx STATUS 状态 Pending,那么用如下查看

就会输出 错误日志信息

就会输出 错误日志信息

The Service “redis” is invalid: spec.ports[0].nodePort: Invalid value: 6379: provided port is not in the valid range. The range of valid ports is 30000-32767
修改kubernetes服务nodeport类型的端口范围

编辑 kube-apiserver.yaml 文件

找到 --service-cluster-ip-range 这一行,在这一行的下一行增加 如下内容

实际 案例内容如

最后 重启 kubelet

Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

去掉配置文件中的 --network-plugin=cni 就可以了

通过编辑配置文件发现/lib/systemd/system/kubelet.service.d/10-kubeadm.conf,并没有此配置,找到 EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env 参数,编辑这个文件 /var/lib/kubelet/kubeadm-flags.env ,发现 --network-plugin=cni 配置信息在这个配置文件中,修改注释掉即可

修改为

重新加载配置,和重启 kubelet

要把 slave 机器加入到 集群中,先要获取master 中的几个相关信息 token --discovery-token-ca-cert-hash master的IP和端口

环境说明

slave 的IP 为 192.168.0.252
slave 主机名 为 kub-slave
所有机器配置一样,预装环境一样

master机上执行

master机上执行

master机上执行

master机上执行

宿主机IP:宿主机端口 ,这里对应得是 192.168.0.2546443

slave 配置

先设置 hosts

在 slave 机器上 执行 格式

<master-ip>:<master-port> 宿主机IP:宿主机端口 ,这里对应得是 192.168.0.254:6443
token 1天左右的时间就过期
--discovery-token-ca-cert-hash 获取ca证书sha256编码hash值

在上面中 几个关键信息已经获取到了,那么最后的整合信息如下

slave节点需要等它下载好里面pod后,才会变成Ready状态

查看 子节点状态
在 master 上执行

删除子节点

在 master 上执行

在 slave 上执行

来源:
https://www.kubernetes.org.cn/5462.html
http://hutao.tech/k8s-source-code-analysis/prepare/debug-environment.html
https://blog.csdn.net/qq1083062043/article/details/84949924
https://cloud.tencent.com/developer/article/1487532
https://www.kubernetes.org.cn/5551.html
https://blog.csdn.net/mailjoin/article/details/79686934

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/1347.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部