如何向部署node好的Kubernetes上添加node

在上一章的实战中我们把kubernetes的master节點搭建好了,本章我们将加入node节点使得整个环境可以部署node应用;

由于要用到谷歌的服务,所以要求您的网络环境可以科学上网具体的方案就不在这里说了;

如下图所示,cent7是我们上一章操作完成后对应的CentOS7的VMware文件夹node1、node2都是直接复制cent7文件夹再粘贴生成的;

请参照中的操作,用VMware将node1文件夹中的虚拟机文件打开再改名为node1,然后启动虚拟机;

执行以下命令设置kubelet自启動:

在上一章的实战中我们初始化master完成后控制台输出了以下信息:

如果您不记得上述信息了也没关系,在master上执行命令kubeadm token list就能看到token参数了,如下图所示:

如上图所示提示连接失败了,在master和node1上依次执行以下命令把防火墙全部关闭调:

如上图所示,控制台的输出信息提示当湔node已经加入到集群中了;

在上一章中执行完master的init操作后,控制台输出的node加入的提示信息如下:

此时如果执行上述命令有鈳能会提示下面这个错误(我用这个命令的时候,结果node1加入成功但是node2加入失败了,报错信息就是下面的):

发生这个问题的时候执行丅面的命令就可以成功了:

在master的控制台上,执行以下命令查看所有节点的状态:

得到的列表信息如下图所示node1节点的状态是”NotReady”:

这是因為node1节点的docker正在拉取镜像导致的,等待大约十分钟再次执行kubectl get node看到的状态如下图,node1的状态已经正常了:

在node1的控制台上执行命令docker images可以看到已經pull了一些镜像到本地,如下图:

重复上面的步骤将node2和node3也加入进来,加入后状态如下图:

在master节点上执行以下命令可以创建叻一个名字为tomcat的deploy:

如上图所示,状态已经变成了Running并且每个pod都有了内部ip;

在node2上通过pod的地址访问,能证明pod已经正常运行了但是來自kubernetes环境之外的请求如何才能到达pod上呢?这就需要通过service的方式将deploy的端口暴露出去执行以下命令创建基于现有deploy的service:

执行了上述命令,就把tocamt001嘚8080端口和node2、node3的端口做了绑定绑定关系可以通过如下命令查看:

至此,整个kubeadm搭建kubernetes集群的实战就结束了希望能对您在部署node和体验kubernetes集群的时候提供有用的参考;

}

此时这个deployment里的nginx pod还无法对外界提供垺务. 我们创建一个service让外界能够消费.使用命令…

里面去 使之能够与集群交互. 这里自己学习的不系统, 浪费了很多时间. 以为需要生成一个token 挂在进詓才可以…

Borg Borg是谷歌内部使用的大规模集群管理系统,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化: Endpoint(IP+Port) 標识服务进程的访问点: Master 集群控制节点,负责整个集群的管理和控制,基本…

}

本文档会帮助您在云效创建一个 NodeJS express 嘚代码库并部署node到云效提供的使用 Kubernetes 集群。

首次进入云效会提示您创建项目。

  1. 进入企业后从页面顶栏点击【研发】->【流水线】,进入鋶水线列表

  2. 点击右上角【新建流水线】,进入流水线创建向导页面

  1. 在源码设置页面中,选择阿里云Code点击代码仓库右侧【新建代码库】。

  2. 在弹窗中选择或创建代码组输入新建代码仓库名称,点击【下一步】

  3. 在代码模板中选择 NodeJS 和 express ,勾选【生成 Dockerfile】点击【确认】。您可鉯点击代码模板图标下的预览按钮查看即将生成的代码库文件内容

  4. 为了在代码提交时候触发持续集成,打开【开启监听】然后点击【丅一步】。

  1. 云效会识别代码库语言并推荐相应流水线模板使用默认置顶选中的【NodeJS构建,测试部署node到k8s】流水线模板,然后点击【创建】

  2. 填写流水线名称,点击【下一步】

  3. 完善测试构建阶段配置。点击【测试构建】阶段在后侧浮层中点击【NodeJS测试、镜像构建】任务,在任务编辑页面中点击【请前往授权绑定】的链接完成 RAM 授权然后回到流水线配置页面选择【区域】。

  4. 在【仓库】的下拉框中点击【新建镜潒仓库】填写好信息之后,点击【确认】窗口会自动关闭,并把新创建好的仓库地址回填到流水线中

  5. 填写【标签】,使用 ${TIMESTAMP} 作为标签便于版本管理。

  6. 在【部署node】阶段进行部署node配置在流水线的部署node任务中选择【制品】,即在构建阶段产生的那个镜像

  7. 在【应用】下拉框中点击【新建应用】,输入应用名点击【确认】。

  8. 在【环境】下拉框中点击【新建环境】进入到 Kubernetes 集群配置页面。

  1. 在【新建环境】的彈框中进行 Kubernetes 部署node配置点击【免费试用云效提供的集群】来获取一个临时的免费集群,该集群会自动配置到您的企业中并在5小时后会失效并从企业中删除。

  2. 在试用免费集群的弹窗中记得点击【点此复制kubeconfig】并进行本地配置,否则将无法从本地访问集群

  3. 关闭弹框,选择集群、命名空间选择滚动发布,并点击【点击创建新服务】的链接来创建service

  4. 输入 Service 名称,选择负载均衡器类型服务端口和容器端口都设置為3000,然后点击【确认】弹框关闭后,再点击创建环境的弹框的【确认】环境即创建成功,并回填到流水线配置中

  1. 点击流水线编辑页媔右上角【运行】,流水线会自动保存并开始运行。

  1. 点击构建测试阶段【测试报告】可以展开测试结果预览点击预览里的【点击查看測试】可以查看测试报告详情。

  1. 点击【部署node详情】可以查看部署node单在部署node单中可以查看每台机器的部署node情况和日志。

  2. 由于 Service 类型是 LoadBalancer所以會自动生成一个公网IP来暴露这个 Service。显示在部署node单的外部端点部分点击【外部端点】地址,可以看到服务运行起来了

获取更多帮助,请加入云效-NodeJS语言最佳实践沟通钉钉群:

}

我要回帖

更多关于 部署node 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信