首页 > 其他分享 >面向服务的软件系统实验踩坑记录(实验三实验四)

面向服务的软件系统实验踩坑记录(实验三实验四)

时间:2023-02-04 21:23:24浏览次数:35  
标签:xml 软件系统 实验 面向 注册 docker k8s 节点

由于该门课程对于没有基础的人(比如我)十分不友好,于是把遇到的问题记录下来,献给有缘人

由于本人水平问题,实验一和实验二遇到的坑大部分人应该不会遇到,所以就不记录了,如果需要帮助可以在评论区里留言

实验三内容概述:服务器上安装docker,k8s,之后把docker镜像部署到k8s中,并扩容

遇到的问题及解决办法:

1.系统不要选ubuntu,会遇到诸多版本不兼容问题。使用centos也不要按指导书上的步骤安装k8s和docker,安装方法网上一搜就能搜到。

2.flannel插件我看老师装的非常麻烦,我用的是calico,只需要一句命令就行kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml

3.如果你是和小伙伴共用两台服务器,安装了插件,还是出现只有主节点ready的情况,可能是你们俩的k8s版本不一致。具体表现为:首先使用systemctl status kubelet –l命令查看子节点状态,发现节点状态是正常的,然后使用journalctl -f -u kubelet命令,发现错误kubernetes node error: Failed to initialize CSINode: error updating CSINode annotation: timed out...

这种情况就是子节点k8s版本比父节点高了,需要在子节点的config.yaml文件中添加:

featureGates:
  CSIMigration: false

然后使用命令:

systemctl daemon-reload 
systemctl restart kubelet

4.yaml文件是严格缩进的

实验四内容概述:将实验二的代码打包成docker镜像,部署到k8s上,并扩容,同时要验证扩容成功

遇到的问题及解决办法:

1.打包不要用maven打包。这里我用的build artifacts。打包之前需要改变项目结构,把测试文件放在main文件夹里,这样MANIFEST.MF文件会比较容易识别该类作为启动类,同时要把MANIFEST.MF文件放在resource文件夹的META-INF文件夹里面,不然打包的时候无法识别MANIFEST.MF,如果不这样做会报错no main manifest。

2.老师给的代码里下载.xsd的链接失效了,需要从网上找一份导入项目当中,不然会报错

 

 3.关于注册中心地址:如果docker run的时候出现以下报错就说明dubbo-admin里面配置的注册中心地址和provider.xml里的不一样,dubbo-admin里面指定的注册中心IP要使用docker inspect zookeeper,在其中的network里面查看,这样在浏览器中输入服务器外网IP:2181就可以进入dubbo管理中心页面,如果把provider.xml里面的注册中心地址改成dubbo-admin里面指定的注册中心IP,就可以使用docker run运行镜像,但是后来我发现本实验并不需要docker run,可以在yaml文件里添加conmmand指令java -jar自动运行provider,这样只要把provider.xml和consumer.xml里面的注册中心地址改成master的外网地址,就可以成功注册和消费服务。

 

 

标签:xml,软件系统,实验,面向,注册,docker,k8s,节点
From: https://www.cnblogs.com/akihi3174485976/p/17092418.html

相关文章

  • 50面向对象-继承(super和this)
    packagechapter04;publicclassJava12_Object_Extends_01{publicstaticvoidmain(String[]args){//TODO面向对象-Extends-继承//如果......
  • 49面向对象-继承extends
    packagechapter04;publicclassJava12_Object_Extends{publicstaticvoidmain(String[]args){//TODO面向对象-Extends-继承//面向对象......
  • 48面向对象-构建对象
    packagechapter04;importjava.util.ArrayList;publicclassJava11_Object_Instance{publicstaticvoidmain(String[]args){//TODO面向对象-构建......
  • 47面向对象-Import
    packagechapter04;importjava.util.*;importjava.sql.Date;publicclassJava10_Object_Import{publicstaticvoidmain(String[]args){//TODO面向......
  • 46面向对象-包package
    packagechapter04;publicclassJava09_Object_Package{publicstaticvoidmain(String[]args){//TODO面向对象-Package-包//package中......
  • 45面向对象-静态代码块
    packagechapter04;publicclassJava08_Object_Static_01{publicstaticvoidmain(String[]args){//TODO面向对象-静态//TODO现有类,再有......
  • MCDF实验0
    前言:MCDF的功能描述功能描述多通道数据整形器(MCDF,multi-channeldataformatter),他可以将上行(uplink)多个通道数据经过内部的FIFO,最终以数据包(datapacket)的形式送出。设......
  • 43面向对象-方法参数-传值方式
    https://www.bilibili.com/video/BV1o841187iP?p=43&spm_id_from=pageDriver&vd_source=1a3d02563ce9248e8d473233ccdf3612 //TODO面向对象-方法参数-传值方式//......
  • 42面向对象-方法参数
    packagechapter04;publicclassJava07_Object_Method_Param{publicstaticvoidmain(String[]args){//TODO面向对象-方法参数//使用外部......
  • Python 高级编程之面向切面编程 AOP(二)
    目录一、概述二、函数装饰器1)无参函数装饰器2)带数函数装饰器3)嵌套函数装饰器三、类方法修饰1)实例方法2)类方法(@classmethod修饰)3)静态方法(@staticmethod修饰)四、property()函......