CentOS7 安装最新 Kubernetes(v1.16.0)

mac2022-06-30  26

本文主要记录了,在虚拟机环境下,安装Kubernetes的过程,其中有很多本地踩过的坑,撰写本文,也希望能够帮助到大家,大家不喜勿喷。Talk is cheap,show me the code。

1.安装说明

安装环境 由于博主使用的是mac系统,所以,虚拟机使用的是Parallels Desktop(14.1.3),个人感觉这个是在mac很好用的虚拟机,安装很简单,网上都可以找到教程。

虚拟机系统  CentOS7安装规划 mster节点 1台node节点 1台虚拟机网络配置 主机能够ping上述虚拟机的任何一台;上述两台机之前需要能够互相ping通,而且需要保证master节点与node节点的IP地址保持不变。虚拟机网络配置这块,本文给不了教程,大家还需要搜索资料。如果是Parallels Desktop虚拟机,采用默认的就好。安装方法 采用Kubernetes提供的kebuadm进行安装。由于自己手动部署配置,很复杂,本文采用了Kubernetes自带的kubeadm进行安装。

2.安装步骤

​​​​​​2.1安装Docker

# 1. 删除机器上的旧版Docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2. 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 3. 添加软件源信息 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 4. 更新并安装Docker-CE sudo yum makecache fast sudo yum -y install docker-ce # 5.开启Docker服务 sudo service docker start # 6.添加用户组 配置系统开机启动 # 添加用户组 sudo groupadd docker sudo usermod -aG docker $USER #系统启动 sudo systemctl enable docker # 7.安装成功后,可以使用docker version 查看docker的运行情况。 # 8.配置Docker的镜像加速 https://opsx.alibaba.com/mirror?lang=zh-CN

以上的安装步骤,参考阿里云的安装说明,https://yq.aliyun.com/articles/110806。其中也包含其他系统的安装Docker说明。安装成功后,鉴于国内下载镜像速度的原因,也可以配置docker的镜像加速器,具体可参考阿里云的开源镜像市场,https://opsx.alibaba.com/mirror?lang=zh-CN。其中包含很多的源,后面用到k8s的国内源,在上面也可以找到。​​

2.2 安装kubeadm,kubectl,kubelet

在安装之前,主要是针对CentOS系统的一些配置,类似关闭内存共享,防火墙等等。

# 1.关闭swap # 临时禁用 sudo swapoff -a # 永久禁用(推荐)先打开对于文件,注释掉swap那一行 vim /etc/fstab # 2.关闭SELinux # 临时禁用 setenforce 0 # 永久禁用(推荐) sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux # 3.关闭防火墙 systemctl disable firewalld systemctl stop firewalld # 4.修改网络参数(如果这步不设置,后面安装会有问题) cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 5.修改国内安装的k8s镜像下载源(如果能够科学上网,可以直接使用google对应的官方安装文档,直接安装) cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF ## 重建yum缓存 yum clean all yum makecache fast yum -y update # 6.执行安装 # 这步执行的时间依赖于你自己的网络,会需要一段时间,采用以下命令会安装最新版本,如果按照指定版本需要带上版本号。如果在这一步指定了版本号,在集群初始化的时候,也必须加上版本号。 yum install -y kubelet kubeadm kubectl # 安装成功后验证 kubeadm version #设置开机启动 systemctl enable kubelet && systemctl statt kubelet

至此,以上的步骤(包括安装Docker)都必须在master与node节点中执行。

2.3 初始化集群(初始化master)

# 初始化k8s集群 注意命令中的版本号。由于之前安装 kubeadm kubectl kebulet 采用的是最新版本,所以在初始化的时候也必须制定对应的版本号。'--pod-network-cidr=10.244.0.0/16'参数,是由于需要安装fannel网络时,必须指定的。关于fannel网络及安装,大家可以查看相关资料。https://github.com/coreos/flannel/blob/master/Documentation/kubernetes.md。 # 在初始化成功后,安装日志会打印一段类似于‘kubeadm join 10.211.55.39:6443 --token jh7j30.3e4igzontf4vep3x --discovery-token-ca-cert-hash sha256:ca6086e0594aa2935bc1c6f2152739119c5179ddcdaf3a2bd95ea827c2d3e305’ 的日志,该命令就是node节点加入此集群的命令。 # 初始化成功后,日志还会打印一些叫你执行的sh日志('mkdir -p $HOME/.kube 等等,总共3条'),目的主要是用户的相关操作,直接复制执行即可 kubeadm init --image-repository registry.aliyuncs.com/google_containers -kubernetes-version v1.16.0 --pod-network-cidr=10.244.0.0/16 # 安装fannel 大家可以参考kubeadm git地址:https://github.com/coreos/flannel#flannel kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

此步骤,只需在master节点上执行。等待系统下载对应的镜像后,使用kubectl get pod --all-namespace来查看当前集群中的pod运行情况,待所有的pod处于running状态,及表示master初始化成功。

2.4 将node加入集群

在node节点上,执行上述打印日志的‘kubeadm join .....’ 日志。然后,在maste节点上,执行kubectl get node,查看节点。如果类似于下图,则恭喜你,Kubernetes安装成功!

2.5 node节点ROLES为none处理

在上述node截图中,如果ROLES列为none,则通过打标签来进行修复。其实,该列的实现就是通过标签来实现,不过这个标签比较特殊。如果master节点的ROLES为none,则可为master的节点打上标签node-role.kubernetes.io/master=;如果node节点的ROLES为none,则可为node节点打上标签node-role.kubernetes.io/node=。

总结:

文章主要以实用参考,并没有提供每个步骤执行截图,所以对于新手,可能不太适合。仔细把整个流程首先梳理一遍,然后再动手,可能效果会更好。安装主要痛点就是在下载Kubernetes镜像问题,目前采用国内的阿里云的源,问题不大。不过也会可能出现下载不了的问题,我第一次安装的时候,在执行‘ yum install -y kubelet kubeadm kubectl’进行安装时,就提示下载不了对应的镜像,如果出现这种情况,要么就等阿里云同步成功,要么就使用其他的源。一般稍微等段时间就可以了,我上次是一天后就能下载。

最新回复(0)