在Linux服务器,一键搭建1.21.0最新版K8s服务【脚本篇】

我已经很久没有写博客了,这篇文章主要是总结一下网上的文章,主要是为了安装和运行的代码做真机实验,个人测试可用。文章中包含的大部分脚本和代码都来自网络,我也有自己的调整和配置。在文章的最后,我列举了参考文献,供您参考。

[En]

I haven’t written a blog for a long time, this article is mainly a summary of the online article, mainly to install and run the code to do a real machine experiment, personal test is available. Most of the scripts and code contained in the article come from the network, and I also have my own adjustment and configuration. At the end of the article, I enumerate the references for your reference.

过程很简单,一路next往下看和操作即可,文章不对脚本和代码做原理解释,某些注意点加了红色标注,部分脚本有注释,可以自行参考,以后有机会可以视频讲解。

因为是next的方式,所以本章节主要是操作步骤,步骤中涉及到的代码或者脚本,可以在下文中找到,比如:附录代码一、附录代码二等等,因为脚本实在太长,不太方便放到步骤里。

在root目录下拷贝k8s脚本( 附录代码一:kubernetes_node01.sh)和flannel网络( 附录代码二:kube-flannel.yml)的文件;

然后给脚本文件赋权限:chmod +x kubernetes_node01.sh

最后执行脚本:./kubernetes_node01.sh

ps:1、sh脚本中,需要配置节点,是内网的。
2、多个节点之间要保证能ping通;
3、中间可能需要自己来配合做些操作,比如输入:y,来做确认等等。
最后,可以在当前文件夹下,看到一个key.txt的文件,里边有安装的结果数据或者密钥等,可查看 附录代码三:key.txt,这是我安装的结果,里边有join主节点的配置语句。

查看所有的nodes和pods:

所有的pods:

如果都启动,都READY了,表示安装成功。

上面安装好了kubectl、kubeadm、kubelet后,我们可以通过客户端来连接,这里安利下k8s的客户端:Lens,很香。

如果您想使用客户端连接,需要获取集群的上下文配置信息,可以执行以下命令:

[En]

If you want to use a client connection, you need to get the context configuration information for the cluster, you can execute the following command:

kubectl config view –minify –raw

输出的结果类似于:

如果不用客户端,那就需要安装仪表盘了。

1、Linux根目录拷贝文件, 附录代码四:recommended.yaml(安装看板), 附录代码五:dashboard-svc-account.yaml(配置管理员账户)

2、执行命令:

3、启动仪表盘服务:

4、启动配置账户:

都成功后,会生成一个token字符串,用来登录web端的令牌的,如果没有拷贝或者丢失了也不怕,可以使用命令查看:

token就是类似这种:

这里再检查下:

查看所有的nodes和pods:

多了kubernetes-dashboard命名空间下的两个pod。

如果你没有多余的服务器,也可以在master节点做自己的pod的,需要开启下,命令将 master 标记为可调度:

如果要配置多个子节点,那就仿照主节点来继续写sh脚本吧( 附录代码六:kubernetes_node02.sh),步骤和主节点一致:

1、拷贝到子节点服务器;

2、赋权限,执行文件:./kubernetes_node02.sh

3、这里不用flannel配置;

4、安装完成后,可以join到主节点,配置文件在主节点的key.txt文件里,如果你安装成功了的话;

如果一切正常,可以去主节点查看所有的nodes:

表示我们的子节点已经配置完成。

这里的Deployment+Service的写法比较简单,直接贴出来,就不做过多的解释了。

关于简历service有两种方式,上边的这种是nodePort的方式——laozhang-nodeport-op2,直接暴漏端口到公网,

不过平时使用更多的是Ingress的方式,对应的service也都是使用集群的方式,也就是下边那种——laozhang-cluster-svc,官方默认的就是集群的方式,

那使用ingress,就先需要配置ingress的服务。

在根目录拷贝文件, 附录代码七:mandatory.yaml,配置Ingress-Nginx服务,

这里需要注意下,如果服务器之前已经配置过nginx,需要在mandatory.yaml文件中,修改http-port输出端口,详细内容见下面的代码,有注释。

直接执行yaml:

如果没有报错,可以查看所有的pods:

如果和上面一样,那恭喜,一切配置就完成了。

PS:如果v1.18版本,可以指定

--image-repository registry.aliyuncs.com/google_containers

如果报错的话,就去掉这个参数吧。

错误内容比如:

[ERROR ImagePull]: failed to pull image registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0: output: Error response from daemon: pull access denied for registry.aliyuncs.com/google_containers/coredns/coredns, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied

https://blog.csdn.net/qq_37746855/article/details/116173976

https://blog.csdn.net/weixin_46152207/article/details/111355788

https://blog.csdn.net/catcher92/article/details/116207040

https://blog.51cto.com/u_14306186/2523096

Original: https://www.cnblogs.com/laozhang-is-phi/p/14819009.html
Author: 老张的哲学
Title: 在Linux服务器,一键搭建1.21.0最新版K8s服务【脚本篇】

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10280/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部