哈工大 面向服务的软件系统(2022秋季学期)lab 3

文章目录

    • 前言
    • 使用到的各种软件的版本
      • VMware Workstation
      • CentOS 7
      • Docker
      • k8s
    • 实验流程
      • 虚拟机的下载安装
      • 使用xshell连接虚拟机
      • 修改hostname
      • 安装Docker(所有节点都要安装)(参考[CentOS搭建K8S环境教程](https://cloud.tencent.com/developer/article/1709491)即可)
      • 配置k8s环境(所有节点都要配置)
      • 安装k8s(所有节点)
      • 初始化Master节点(只在Master上)
      • 从节点加入集群
      • Docker镜像打包,上传(Master节点)
      • 部署到Kubernetes中

前言

我在做实验的时候还没有火炬,而且实验指导书过于粗糙(并且有的指令是错误的),在经历了相当痛苦的一段时间才将这个实验完成。于是就想将这里实验过程记录下来,让学弟学妹少走一些弯路。这份文档主要记录了我做实验的过程以及中间遇到的问题及解决办法。

本次实验建议使用CentOS 7,不建议使用Ubuntu。实验指导书上的教程是在CentOS下的教程,部署k8s时CentOS和Ubuntu有一些区别。刚开始大家都选择在比较熟悉的Ubuntu下做实验,但是很快便都换成了CentOS。所以,别浪费时间,直接用CentOS做吧。

我是使用两台虚拟机部署的 络,根据我多次推倒重做的经验,使用虚拟机和使用老师提供的服务器会遇到不一样的错误。如果要参考我的实验流程,建议使用虚拟机,同时虚拟机和k8s、docker就和我用一样的版本,不然可能会遇到各种各样的问题。此外要注意的是,CentOS 6和CentOS 7在一些指令上并不相同,如果实验过程中遇到问题上 找解决办法时注意 上给的是CentOS 6下的指令还是CentOS 7下的指令

使用到的各种软件的版本

VMware Workstation

Docker

18.09.9

k8s

1.17.3

实验流程

虚拟机的下载安装

因为需要一个主节点和一个从节点,所以需要安装两台虚拟机,两台虚拟机均按照相同的办法安装即可。

iso文件并不需要下载两个,两个虚拟机可以使用同一个iso文件

在上文的链接中下载好虚拟机之后,可以按照如下流程进行安装。

在这里选择虚拟机的名称以及存储位置

我在这里给每一台机器分配了4096MB的空间

点击如下位置的浏览选择自己下载的iso文件

在页面内输入chinese选择中文,点击继续

之后点击重启即可

使用xshell连接虚拟机

直接在虚拟机上进行实验不如使用xshell方便,可以参考下面的文章使用xshell连接虚拟机

shell连接本地虚拟机centos_kong___的博客-CSDN博客

修改hostname

虚拟机上hostname的值是默认的,这样在查看k8s的节点状态时将无法区分不同的节点,所以我们更改hostname。最好早一点更改hostname,配置好k8s之后再更改hostname会比较麻烦,还会有其他问题。

直接使用如下指令更改hostname即可

安装Docker(所有节点都要安装)(参考CentOS搭建K8S环境教程即可)

配置k8s环境(所有节点都要配置)

安装k8s(所有节点)

实验指导书上的指令安装的是最新的k8s,但是最好选择1.23以及以下的k8s版本,否则会存在版本兼容问题,这里选择1.17.3

初始化Master节点(只在Master上)

实验指导书上的指令为

注意在字段规定了k8s的版本,我们需要将其改成刚刚安装的版本,在这里也就是1.17.3。同时将中的内容改成Master节点的IP地址。这里,我执行的指令如下所示,在指令中规定了使用阿里云的镜像,可以加快速度。可以让我们生成的集群密钥变成永久密钥,否则其有效期默认只有一天

init成功之后我们可以得到如下指令

之后在主节点或者从节点执行,均可以看到下面的提示信息

使用查看详细信息

在文章https://blog.csdn.net/baidu_38803985/article/details/105966464中看到可能是因为没有本地IP解析,所以尝试在/etc/hosts更改本地IP解析,添加如下的两行即可,注意hostname要换成自己的,使用hostname指令可以直接查看虚拟机的的hostname

根据文章https://blog.csdn.net/qq_29385297/article/details/127682552中的方法可以解决问题,主节点和从节点都要进行这一步操作

之后查看node的状态,可以看到全部转变为ready了

同时按照指导书上的办法进行注册和push,这里由于我之前已经push过了便不再演示,如果失败的话极有可能是因为 络问题,我在服务器上进行实验的时候push很快就完成了,但是在虚拟机上变得特别慢,不知道是因为什么原因。注意要将下面的USERNAME换成自己的用户名,同时只能是小写,就算注册时使用了大写这里也要改成小写,我没有记错的话这里也不能使用邮箱,只能用用户名

哈工大 面向服务的软件系统(2022秋季学期)lab 3

部署到Kubernetes中

按照实验指导书,在 master 节点上,新建文件:注意将 image 修改为自己刚刚上传的

这里有一个很坑的地方,yaml文件的缩进只能使用空格不能使用tab。并且yaml文件是根据缩进的格数来确定各个属性的,所以对缩进有着很严格的要求,但是如果直接从pdf上直接复制粘贴文件内容,文本将会失去之前的格式,建议直接用下面的配置文件即可,我已经调整好了格式,别忘了将image修改为自己刚刚上传的USERNAME/hello_world:v2

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月26日
下一篇 2022年10月26日

相关推荐