Kubernetes集群的部署方式及详细步骤(2)

[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1

Kubernetes集群的部署方式及详细步骤

创建完之后,获取当前系统有效的repolist 

[root@master yum.repos.d]# yum repolist

Kubernetes集群的部署方式及详细步骤

为了方便在node节点上安装,可以将这个两个配置文件通过scp命令复制到node节点服务器上

[root@master yum.repos.d]# scp kubernetes.repo docker-ce.repo node1:/etc/yum.repos.d/

2、安装各组件

kuberctl:API Server的命令行客户端

[root@master yum.repos.d]# yum install docker-ce kubelet kubeadm kubectl

可以看到加载到的是哪些版本的包

Kubernetes集群的部署方式及详细步骤

安装到cri-tools-1.11.1-0.x86_64包时提示gpgkey没有安装

Kubernetes集群的部署方式及详细步骤

将yum-key.gpg下载到本地进行rpm --import导入

Kubernetes集群的部署方式及详细步骤

发现还是报同样的错,于是顺便也把rpm包的key也下载下来进行导入

wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

Kubernetes集群的部署方式及详细步骤

Kubernetes集群的部署方式及详细步骤

最后,都安装成功了。

3、启动docker

启动docker后,需要注意的是它会去docker仓库下载所依赖到的每个镜像文件,这些镜像文件暂时获取不到,建议将相关镜像文件通过其他途径下载到本地然后导入使用,或者推送到本地仓库。

在这里我们是借用别人此前提供的一种路径来获取并下载使用,因此在启动之前,需要编辑vim /usr/lib/systemd/system/docker.service,在该文件中定义一个环境变量

Kubernetes集群的部署方式及详细步骤

注意NO_PROXY中间是有下划线的。然后修改完配置文件之后需要重新加载配置文件,然后重新启动,否则修改不会生效。

[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl start docker

是否启动成功用docker info查看一下,可以看出已经启动成功了

Kubernetes集群的部署方式及详细步骤

同时还要确保以下两个参数值为1。通过网桥转发的IP数据包会iptables规则过滤,而这两个选项将阻止过滤Netfilter是默认情况下启用了桥梁,如果不阻止会导致严重的混乱

Kubernetes集群的部署方式及详细步骤

如果不是1需要修改为1

echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

通过[root@master ~]# rpm -ql kubelet  命令查看都安装了什么文件

Kubernetes集群的部署方式及详细步骤

查看配置文件发现额外参数是空的

Kubernetes集群的部署方式及详细步骤

4、设置kubelet、docker为开机启动

[root@master ~]# systemctl start kubelet
[root@master ~]# systemctl status kubelet

Kubernetes集群的部署方式及详细步骤

这边没有明显的错误提示,因此查看日志[root@master ~]# tail /var/log/messages

Kubernetes集群的部署方式及详细步骤

[root@master ~]# systemctl stop kubelet        #将kubelet关闭

因各个组件还未初始化完成所以不能启动,将其设置开机启动即可

[root@master ~]# systemctl enable kubelet    #将其设置为开机启动

[root@master ~]# systemctl enable docker    #将docker设置为开机启动

5、kubeadm init初始化

查看kubeadm init的帮助信息 

[root@master ~]# kubeadm init --help

Kubernetes集群的部署方式及详细步骤

--apiserver-advertise-address:API服务器将通知它正在监听的IP地址,监听的地址为“0.0.0.0”,即本机所有IP地址。

--apiserver-bind-port:API服务器绑定到的端口。(默认:6443)

--cert-dir:加载证书的相关目录(默认:/etc/kubernetes/pki)

--config:配置文件的路径。警告:配置文件目前属于实验性,还不稳定。

--ignore-preflight-errors:将错误显示为警告的检查列表进行忽略。例如:“IsPrivilegedUser,Swp”。Value 'all'忽略所有检查中的错误。

--pod-network-cidr:指定pod网络的IP地址范围。如果设置,控制平面将为每个节点自动分配CIDRs。

--service-cidr:为service VIPs使用不同的IP地址。(默认“10.96.0.0/12”)

然后我们指定选项进行初始化:

[root@master ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12

Kubernetes集群的部署方式及详细步骤

Kubernetes集群的部署方式及详细步骤

如果在初始化中碰到swap不支持的报错,如下图

Kubernetes集群的部署方式及详细步骤

需要做两个设定

①[root@master ~]# vim /etc/sysconfig/kubelet        #加入以下参数

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2e0d76c82bc8036f470960090f5ae4cb.html