本次搭建采用kubeadm工具,创建一主多从(单Master)Kubernetes集群。在集群中,有一台Master节点负责控制平面,多台Node节点负责运行容器。
Kubernetes是一个开源的容器编排平台,可以帮助简化容器化应用程序的部署、扩展和管理。在Kubernetes集群搭建过程中,有多种部署方式可选,包括kubeadm、Minikube和二进制包。本次选择使用kubeadm,因为它是快速搭建Kubernetes集群的常用工具。
M角色 IP地址 环境
Master 192.168.85.4 Centos 7.9
Node01 192.168.85.5 Centos 7.9
Node02 192.168.85.6 Centos 7.9

M角色IP地址环境
Master192.168.85.4Centos 7.9
Node01192.168.85.5Centos 7.9
Node02192.168.85.6Centos 7.9

流程描述:
1)准备3台机器,要求网络互通,同时可联网。
2)关闭防火墙、selinux、swap分区等,这些是可能会导致k8s集群出问题的地方,需要提前配置好。
3)安装Docker容器化环境,同时安装核心组件:kubeadm、kubelet、kubectl等。
4)下载k8s所需镜像,创建一个Master节点,将Node节点加入到当前集群。
5)在k8s集群安装相关服务进行验证,登录k8s的WEB的用户界面dashboard。

集群环境配置:
1.修改主机名
image.gif
2.修改hosts文件
image.gif
ps:在node1,node2也需同样配置
3.关闭防火墙和SELinux
image.gif
ps:三台机器都执行
4.关闭swap分区
image.gif
ps:三台机器都执行,注释掉包含swap这一行。
问题:k8s集群为什么要关闭swap? Kubernetes 云原生的实现目的是将运行实例紧密包装到尽可能接近 100%,所有的部署、运行环境应该与 CPU 以及内存限定在一个可控的空间内。所以如果调度程序发送一个 Pod 到某一台节点机器,它不应该使用 Swap。如果使用swap,则其实node的pod使用内存总和可能超过了node的内存,这样其实就达不到资源的严格限制和管理的目的。
5.修改网卡配置
image.gif
6.免密登录
image.gif
ps:三台机器都执行,目的是方便节点间直接连接。测试如下:
image.gif
7.安装k8s和docker
image.gif
修改docker配置文件
image.gif
Ps:三台机器都执行,因k8s组件高版本多次安装失败,遂采用低版本安装。
8.拉取k8s集群需要的镜像版本
image.gif
拉取完成后执行改变coredns的标记
image.gif
Ps:三台机器都执行
9.初始化master节点
image.gif
Ps:只在master节点执行
问题:
初始化成功后会出现一下内容
image.gif
根据提示信息操作
image.gif
10 .node配置
image.gif
问题:执行后加入失败,查看node状态发现是NotReady,查看集群Pod状态,在查看节点日志发现缺少网络插件。
image.gif
所以在master上安装一个插件
image.gif
再次查看node状态已经Ready,节点也可以加入master.
image.gif
11.拉取Nginx镜像进行配置
image.gif
查看pod和服务
image.gif
查看映射的随机端口
image.gif
测试Nginx服务
image.gif
12安装k8s-dashboard
1.创建一个nodePort类型的kubernetes-dashboard。进入/etc/kubernetes 目录下创建配置文件dashboard-svc.yaml:
image.gif
2.创建kubernetes-dashboard的 Service服务:
image.gif
3.此时再次查看namespace,已经有nodePort类型的kubernetes-dashboard,注意443:31487,即外部访问端口为31487。
image.gif
4..获取 token,先查找token文件
image.gif
5.查看外部访问端口
image.gif
6.访问,如https://192.168.85.4:31487
image.gif
image.gif
最后,记得做一下虚拟机的快照,方便关机后还原!
image.gif


数新智能
1 声望0 粉丝

数新智能成立于2020年7月,总部位于杭州,在上海、北京、深圳、香港等各地设有分支机构,服务网络覆盖全国各区域,客户遍布全球 50+城市。


« 上一篇
hive数据迁移
下一篇 »
DFS算法解析