关注分享主机优惠活动
国内外VPS云服务器

k8s安装概述(k8s安装问题)

总结:附件中以下来源主要使用阿里巴巴镜像。 如果您想使用其他国内镜像,请找到合适的镜像源并运行以下命令来安装软件。 参考资料:只要孩子会部署基本安装,就会基于阿里云镜像站进行安装,并用于快速搭建测试集群。

本次安装环境为Ubuntu16.04。 在其他环境中,shell 命令会略有不同,但步骤类似。 默认情况下安装了 docker。

下载

下载并安装以下软件。

运行 kubelet 节点代理的节点

由 kubeadm master 用于初始化集群以及供节点加入集群。

kubectl客户端用于向master发送请求进行应用部署。

原因< 由于以下原因,获取这些包有点麻烦。 靠墙。 在网上查了一些资料,目前这些软件包的下载和安装主要有两种方式。

一是从k8s github仓库下载源码,解压,安装。 我一开始尝试过这个方法,但是失败了。 有关更多信息,请参阅下面的问题摘要。

第二种方法是添加k8s国产软件的镜像源,使用apt下载安装。 主要在/etc/apt/source.list文件中附加以下源

# 使用阿里巴巴的镜像。  如果想使用其他国家镜像,找到对应的k8s镜像源deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

,然后运行以下命令进行安装通过运行该软件。

 # 使用版本 1.13.0-00。  如果不知道具体版本号,可以使用# apt-cache show 命令查询。stop kubelet=${K8S_VERSION}apt-get install kubeadm=${K8S_VERSION}apt-get install kubectl=${K8S_VERSION}

这样下载的软件会自动安装。 。 所有环境设置完毕后,就可以直接运行命令了。
如果您不熟悉kubelet和kubeadm的一些启动参数,我们不建议您下载可执行包并手动安装。
通过 apt 安装可以节省很多。 我最终使用这种方法成功安装了三个软件。

运行

首先,我们需要配置一些设置并下载所需的图像。 您可以通过直接运行 kubeadm init 命令来初始化主节点。 然而,由于国内障碍,在运行kubeadm init命令之前必须执行额外的任务,主要是下载。 镜子。

关闭虚拟内存

通常,您需要运行以下命令来关闭虚拟内存[1]: 否则会报如下错误:

# 关闭交换。    # 但是,当系统重新启动时,交换将重新开始。    # 因此,每次重启节点时,都需要手动执行该命令来关闭swap。 否则,kubelet 将无法启动。   # 运行 sysctl -w vm.swappiness=0 将完全关闭 swapswapoff -a

下载镜像

wall 会的。 下载docker镜像时可能会遇到“暂停”等问题

解决办法是从阿里巴巴docker镜像网站下载镜像并更改镜像标签[3]
运行以下命令

# $imageName 是指您要下载的图片名称。 可以通过 kubeadm config Images list 命令获取,但是之前的 k8s.gcr 必须删除。.io/docker pullregistry.aliyuncs.com/google_containers/$imageNamedocker 标签registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageNamedocker rmiregistry.aliyuncs.com/google_containers/$imageName

运行kube init

运行kubeadm init命令。 结果如下:

接下来,配置 kubectl(用于 kubeadm) 一旦 init 成功运行(我们将向您展示如何配置 kubectl),您将主要运行以下命令:

mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $ HOME/.kube/ config sudo chown $(id -u):$ (id -g) $HOME/.kube/config # 设置当前用户的文件权限

然后你可以: 使用 kubectl 运行一些命令。 测试是否运行成功(如kubectl get names)。
由于只有一台机器,因此只有一个主节点。

该节点加入集群。 /b>

执行kubeadm token create --print -join-commandjoin获取命令并在加入集群的节点上运行

安装插件

安装k8s插件。 这主要相当于使用 kubectl apply -f config_file

网络插件

需要额外的虚拟第 2 层网络组件才能启用 Pod 之间的跨节点通信。 还没有安装,因为我目前只有一个节点,无法测试。

问题总结回忆一下手动安装kubeadm、kubelet、kubectl失败的经历 >

首先,在github上的k8s仓库中需要去在那里,找到发布页面,并在此页面上查找您需要下载的版本。 例如,我当前的项目需要1.13版本,我在https://github.com/kubernetes找到了这个页面。 本页不要下载压缩包;找到CHANGELOG-1.13,点击进入。 实际下载页面。 如下图红圈所示:

进入页面,找到服务器区,下载k8s服务器软件包(压缩包中包含安装k8s所需的软件)。 在这里,我们已经下载了kubernetes-server -linux-amd64.tar.gz软件包。
下载完成后,切换到安装目录并解压软件包。 我们要安装到/usr/local目录,所以运行以下命令:

cd /usr/localtar zxf kubernetes-server-linux-amd64.tar.gz

接下来,设置PATH和/etc/profile更改。

export K8S_HOME=/usr/local/kubernetesexport PATH=$PATH:$K8S_HOME/server/bin

然后重新启动或source /etc/profile更新环境变量。
即使通过这种方式下载了软件包,仍然需要做大量的工作来安装和配置 kubeadm 和 kubelet,非常繁琐。
经过多次尝试,我终于失败了。使用此方法安装和配置未成功。
主要问题是kubeadm和kubelet的启动参数有点复杂。 如果您选择自己配置,则需要对k8s有深入的了解。 否则,你就得推葫芦才能让铲子浮起来。
我已经设置了半天了,我已经很擅长使用systemd了,但是我仍然无法正确安装它。

重启系统后,k8s没有启动

重启ubuntu虚拟机后,发现k8s组件没有自动运行,对应的容器我一一启动了。 ,但无济于事。
最后发现问题是由于kubelet无法正常启动造成的。 无法启动的原因是swap没有关闭。
我们还发现,当master节点上的kubelet启动成功后,apiserver等其他组件也会启动。

参考

[1]小孩子只要使用kubeadm就可以部署Kubernetes
[2]kubernetes-k8s-3的基本安装
>[3]基于阿里云镜像站安装Kubernetes
[4]使用kubeadm在Ubuntu上快速搭建Kubernetes测试集群

未经允许不得转载:主机频道 » k8s安装概述(k8s安装问题)

评论 抢沙发

评论前必须登录!

 

本站不销售/不代购主机产品,不提供技术支持,仅出于个人爱好分享优惠信息,请遵纪守法文明上网

Copyright © 主机频道 - ZHUJIPINDAO.COM ,本站托管于国外主机商

© 2021-2024   主机频道   网站地图 琼ICP备2022006744号