通过软件包管理工具安装kubernetes

通过软件包形式安装kubernetes

规划部署图

在这里插入图片描述

1.安装前准备(所有节点操作)

1.1禁用SElinux

SElinux会提供强制访问控制系统,加强linux安全性,会影响kubernetes的部分组件使用,

setenforce 0

在这里插入图片描述

修改配置文件达到永久关闭

vim /etc/selinux/config
在这里插入图片描述

1.2禁用firewalld

firewalld为linux防火墙系统,安装部署时可以将其关闭。

systemctl stop firewalld
systemctl disable firewalld
1.3更新软件包

更新最新版软件包。

yum -y update
1.4同步系统时间

在所有节点上同时更新系统时间为中国时间,cn.pool.ntp.org是中国的网络时间协议(ntp)服务器。

ntpdate -u cn.pool.ntp.org

2.安装etcd

etcd:高可用的分布式键值数据库,kubernetes利用etcd来存储数据,提高可用性,通过在三个节点上安装etcd,形成一个3个节点的集群。

主要修改有以下配置

ETCD_LISTEN_PEER_URLS 用于指定etc节点监听的url,用于与其他分布式etcd节点通信,实现各个节点的数据通信、交互、选举、以及数据同步等功能。该url采用协议、IP和端口相组合的形式可以http也可以是https形式。
ETCD_LISTEN_CLIENT_URLS指定对外提供服务的地址,etcd api的地址
ETCD_NAME指定etcd节点名称
ETCD_INITIAL_ADVERTISE_PEER_URLS 指定节点同伴监听地址etcd节点间传递数据
ETCD_ADVERTISE_CLIENT_URLS 指定当前etcd节点对外布告的客户端监听地址,同时这个值会告诉集群中其他的节点
ETCD_INITIAL_CLUSTER 列出当前etcd集群中所有的etcd节点的节点通信地址

1.master部署

1.1安装etcd

通过命令安装etcd

yum -y install kubernetes-master etcd

1.2修改配置文件

修改etcd配置文件 /etc/etcd/etcd.conf.
在这里插入图片描述

2.node1部署

2.1安装kubernetes节点组件,etcd,flannel以及docker

yum -y install kubernetes-node etcd flannel docker

2.2安装后,修改/etc/etcd/etcd.conf
在这里插入图片描述

3.node2部署

3.1在node2上同样安装kubernetes节点组件,etcd,flannel以及docker,

yum -y install kubernetes-node etcd flannel docker

3.2安装后,修改配置文件/etc/etcd/etcd.conf
在这里插入图片描述

4.测试

4.1启动etcd服务

systemctl enable etcd
systemctl start etcd

4.2查看启动状态

原点处是绿色,并且Active的值是active(running),表明服务启动成功

systemctl status etcd

4.3查看集群健康状态

查看etcd集群的健康状态

etcdctl cluster-health

5.节点配置

master节点

主要修改有以下配置

KUBE_API_ADDRESS api-server进程绑定的IP地址,0.0.0.0表示绑定本机所有地址。
KUBE_API_PORT 用来指定 api-server监听的端口
KUBELET_PORT 表示kubelet监听的服务端口
KUBE_ETCD_SERVERS 用来指定etcd集群中的每个节点的地址。
KUBE_SERVICE_ADDRESSES 用来指定kubernetes中服务的IP地址范围
KUBE_ADMISSION_CONTRO 该选项默认会包含SecurityContextDeny,ServiceAccount。这两个值与权限有关,可以先去掉。

5.1修改apiserver

在 /etc/kubernetes目录中有 apiserver 、controller-manager以及scheduler等服务进程,通常需要修改的配置,是api-serve服务,配置文件在 /etc/kubernetes/apiserver

在这里插入图片描述

5.2启动master节点上的各项服务

启动服务

systemctl start kube-apiserver
systemctl start kube-controller-managet
systemctl start kube-scheduler

查看状态

systemctl status kube-apiserver

设置系统自启动

systemctl enable kube-apiserver
systemctl enable kube-controller-managet
systemctl enable kube-scheduler

5.3测试

通过访问192.168.146.143:8080(master主机IP:8080)端口,api-server通过JSON对象的形式返回各个API地址如图
在这里插入图片描述

Node节点配置

在node节点上主要运行kube-proxy和kubelet等进程,需要修改的配置文件主要有 /etc/kubernetes/config /etc/kubernetes/proxy /etc/kubernetes/kubelet, 三个文件分别是kubernetes全局配置文件,kube-proxy配置文件,kubelet配置文件,在node节点下修改都是差不多的,就是注意IP地址的差异。

5.4配置修改

node1配置修改

KUBE_MASTE 指定apiserver的地址

修改/etc/kubernetes/config

vim /etc/kubernetes/config

在这里插入图片描述

修改kubelet的配置文件

在这里插入图片描述

KUBELET_ADDRESS 指定kubelet绑定的IP地址,如果想绑定所有网络接口,可以指定为0.0.0.0

KUBELET_PORT 指定kubelet监听的端口

KUBELET_HOSTNAME 指定本节点的主机名,可以是主机名(例如node2),也可以是IP地址

KUBELET_API_SERVER 指定apiserver的地址

修改 /etc/kubernetes/proxy

在这里插入图片描述

配置完成后,执行以下命令启用配置

systemctl enable kube-proxy
systemctl enable kubelet

启动kube-proxy和kubelet服务

systemctl start kube-proxy
systemctl start kubelet

node2节点和上面方法一样,在修改kubelet的配置文件,KUBELET_API_SERVER 此项的时候将IP改为node2节点的IP地址

测试上述配置完成后,在master节点下测试

kubectl get nodes

在这里插入图片描述

5.5配置网络

flannel网络配置工具

在配置Flannel之前,先设置分配docker网络的网段,在master节点执行以下操作,在etcd中添加名称为 /atomic.io/network/config的主键,通过主键设置提供给docker容器使用的网段以及子网

etcdctl mk /atomic.io/network/config ‘{“Network”:“172.17.0.0/16”,“SubnetMin”:“172.17.1.0”,“SubnetMax”:"172.17.254.0:}’

然后在node1和node2节点上修改/etc/sysconfig/flanneld配置文件,两个node节点一致
在这里插入图片描述

需要注意的是中间的IP地址是自己部署的机器IP

FLANNEL_ETCD_ENDPOINTS 指定etcd集群的各个节点的地址

FLANNEL_ETCD_PREFIX 指定etcd中网络配置的主键该主键和前面设置的主键一致

FLANNEL_OPTIONS 这个–iface指定Flannel网络使用的网络接口

设置完成后,在node1和node2节点上通过命令启动flanneld

systemctl enable flanneld
systemctl start flanneld

这个时候,通过命令查看,就会出现一个新的网络接口

ip address show | grep flannel

在这里插入图片描述
虚拟接口指向的是172.17.0.0/16

同时还会生成两个配置文件

cat /run/flannel/docker
cat /run/flannel/subnet.env
在这里插入图片描述

网络此处只是大概,还有挺多需要深度学的,可以查阅相关学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linux小王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值