记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
kubesphere查看MinIO与打镜像前的原始代码包需求: 用户镜像启动有问题。问了排查原因,我需要看下打镜像前用户上传的原始代码包。 操作过程如下: 在kubesphere中,用户上传的代码包是放在minio中,然后再进行后续的打镜像操作。 所以问题转变为查找minio的登录信息 # kubectl get pod -n kubesphere-system
NAME READY STATUS RESTARTS AGE
etcd-65796969c7-vb67h 1/1 Running 0 89d
ks-apiserver-67ccdf6dfd-grshf 1/1 Running 0 31d
ks-console-b4df86d6f-qhpfm 1/1 Running 1 89d
ks-controller-manager-8bc6554fb-w6klz 1/1 Running 0 8...
【kubesphere】Deploy to kubernets阶段报错一、问题背景 最近在学习使用kubesphere进行devops,在编写好流水线运行之后,报了如下错误: Starting Kubernetes deployment
Loading configuration: /home/jenkins/agent/workspace/api-appjg7tc/demo-deplpy/deploy-yaml/dev-api.yaml
ERROR: ERROR: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: Bad Request
hudson.remoting.ProxyException: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: Bad Request
at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager.handleApiExceptionExceptNotFound(ResourceManager.java:180)
at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:213)
at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:201)
at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager$ResourceUpdater.createOrApply(ResourceManager.java:93)
at com....
kubesphere3.2中jenkins的部署应用到k8s功能问题1,kubesphere3中自带的jenkins中kubernetesDeploy 插件的坑,真是让人脑火。 2,不知道是不是因为之前删除过jenkins,又重新安装的原因,整个流水线到部署k8s环境上时,一真有毛病。不是报 应用部署的YAML文件有问题,就是报一堆其它错误。3,一个应用部署的 Service 与Deployment ,都是先用UI界面,部署完后,导出来的YAML,再删除一个不需要的配置项目,尽然,再用UI 工具 从 YAML部署应用时,尽然报一堆错误,真是无语。搞的本人对K8S的YAML配置项都有怀疑了,虽然YAML文件还是挺bianTai的。4,终于把YAML文件搞好,测试UI,还是Kubectl命令部署都没问题了。结果 jenkins的插件又被坑了两天。整个流水线,一会提示,运行成功,可到UI上面一看,什么服务都没有部署。把YAML文件放到UI中执行,也提示成功,结果P的服务都没有。5,根据官方资料,提示如下:也就是说,这个插件没用了。以后直接使用kubect命令部署。为 DevOps CD 功能提供限制语句。背景从 v3.0.0 开始,在 DevOps 组件中,Jenkins 插件kubernets-cd 的版本是2.3.1。如果您尝试查看它的提交历史记录,您会发现它已停止维护。上一次发...
kubesphere3.2中jenkins的nodejs模板pod升级到nodejs161,kubesphere3.2中的jenkins流水线使用的pod最高版本还是nodejs8,实在是太旧了。2,经过折腾,可以将nodejs删除后,再安装新版本的nodejs。kubesphere的jenkins流水线在工作过程中, 会自动创建两个pod,其中一个是jnlp-slave,一个模板pod,用来运行流水线指令,所以只需要在模板pod中安装或是升级nodejs就可以了。3,具体流水线方法如下:pipeline { agent { node { label 'nodejs' } } stages { stage('pull-code') { agent { node { label 'nodejs' } } steps { container('nodejs') { sh 'yum -y remove nodejs' sh 'curl -sL https://rpm.nodesource.com/setup_16.x | bash' sh 'yum -y install nodejs-16.1.0 ...
nodejs 源码spec打包rpm并使用RPM包安装node.js RPM spec, Blanch, Status, RPM, :----------, :----------:, :----------:, master (v9, Current), , , v8.x (v8, LTS), , , v6.x (v6, LTS), , , v4.x (v4, LTS), , , - node.js rpm spec : https://github.com/kazuhisya/nodejs-rpm ¶node.js source : https://nodejs.org/dist/Compiled Package ¶You can find prebuilt rpm binary from here(el7 and fc24 or higher)Stable Release: FedoraCopr khara/nodejs CoprLTS Release: FedoraCopr khara/nodejs-lts Coprel7:$ sudo curl -sL -o /etc/yum.repos.d/khara-nodejs.repo https://copr.fedoraproject.org/coprs/khara/nodejs/repo/epel-7/khara-nodejs-epel-7.repo
$ sudo yum install -y nodejs nodejs-npm
fc24 or higher:$ sudo dnf copr enable khara/nodejs
$ sudo dnf install -y nodejs nodejs-npm
Building the RPM ¶Distro support ¶Tested ¶RHEL/CentOS 7 x86_64Fedora 25 x86_64 or higherProbably it works ...
kubesphere整合jenkins升级方法一,kubesphere3.2中的devops组件无法工作。 1,kubeshpere整合了jenkins,只是版本相对低此,这前可能我这里升级了jenkins中的组件,导致jenkins容器启动不了。 2,查看相关容器日志信息,报错如下:二,处理步骤。 1),第一种方法,找到devops-jenkins容器所挂载目录中,将报错的插件删除掉,然后重建容器。 2),第二种方法,直接升级jenkins的war包到新版,下面是第二种方法。 1,遇到这种坑,查看了devops-jenkins相关的pvc与pv信息, 2,由于kubesphere使用的kk工具安装的,因此使用是本地存储,工具软件为openebs,可以看到相关的pv挂载目录。 3,但是查看本机的存储目录与部署的YAML文件信息,Jenkins的war包目录位于/usr/share/jenkins/jenkins.war,此目录容器未挂载, 但是这个文件的子目录/usr/share/jenkins/ref/secrets却是挂载到pv了。因此如果把/usr/shar/jenkins目录挂载后,那么就是个空目录, 别的挂载就没法使用了。挂载Jenkins war目录升级的方法就不行了(当然要挂载的话,kubesphere只能使用子目录挂载的方法)。 4,经过查看 kubesphere/ks-jenkins:v3.2.0-2.249.1 镜像信息,找到了容器启动 jenkins的脚本文件存...
kubesphere的base容器安装nodejs方法1,kubesphere自带的nodejs模板容器,太旧了,想升级下,还是比较麻烦的。2,自己在流水线中将base容器中安装node-16版本,这样就比较新了,这种方法安装国内下载rpm包速度慢, 可以在k8s中安装一个nginx服务,将nodejs的rpm包挂载到nginx服务中,这样内部访问速度就快了。3,Jenkinsfile内容如下:pipeline { agent any stages { stage('checkout') { agent none steps { container('base') { git(url: 'https://gitee.com/micoder/simple-node-js-react-npm-app.git', branch: 'master', changelog: true, poll: false) } } } stage('build') { agent none steps { container('base') { sh 'curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo' ...
Centos7/RHEL7使用yum命令安装NodeJS/npm方法想要在CentOS7上安装NodeJS,在官网下载压缩包来安装,结果提示包错误,于是,决定直接使用yum命令来安装了。使用yum命令安装NodeJS,简单方便,只需要在终端依次执行下面的代码就可以了,不需要其他操作:[root@localhost]# curl -sL https://rpm.nodesource.com/setup_16.x | bash## Installing the NodeSource Node.js 16.x repo...
....
[root@localhost]# yum -y install nodejs gcc-c++ make wget rsync
安装完毕后使用 node -v 和 npm -v 来验证安装是否成功。[root@localhost]# node -vv16.6.2
[root@localhost]# npm -v
7.20.3
kubesphere普通用户无法运行流水线解决方法1,kubesphere集成的jenkins,不知怎么玩的,添加的devops项目,运行 流水线 时,普通用户无法执行,显示 未运行 ,登陆jenkins里面,查看有相关用户,但是流水线没动静。只有admin账号才可以正常运行 流水线 ,只有admin用户可以看见流水线,其他用户都不再拥有流水线的任何操作权限。2,找到的两种解决方法: 1),官网给的资料,但是没用过。 恢复 Jenkins 中的权限规则 - KubeSphere 开发者社区 2),自己折腾时,把devops功能组件删除了,再重新增加组件,还是一样的问题。 估计可能是openldap的相关功能有问题,也不清楚具体处理方法。然后就想着使用kubesphere重建普通用户, 还是没有解决相关问题。最后只能在jenkins中的安全配置中找解决方法了。直接一步到位吧,在 jenkins中 全局安全配置 --> 授权策略 ---> 打上勾 登陆用户可以作任何事 ,保存后,普通用户 再次运行流水线,终于正常了。以下是删除 devops组件的方法:以 admin 身份登录控制台,点击左上角的平台管理,选择集群管理。点击 CRD,在搜索栏中输入 clusterconfiguration,点击搜索结果查看其详细页面。信息...
文章目录 docker部署Nginx+keepalive实现高可用 1.流程说明 1)直观流程图 2)部署效果 情况一:三台服务正确启动Nginx和keepalive 情况二:三台服务中,关闭192.169.56.123的服务Nginx和keepalive 3)Keepalived说明 2.开始部署环境 2.1 nginx 1)拉取镜像 2)配置文件 3)访问界面 4)然后把写好的配置,复制到其他两台机器上 5)启动容器脚本 6)测试访问界面 2.1 keepalived 1)拉取镜像 2)配置文件不需要 3)启动容器脚本,三台服务都一样就行 4)测试就按照部署效果来操作就可以了 结束 docker部署Nginx+keepalive实现高可用 服务器环境说明 服务器三台:192.168.56.121,192.168.56.122,192.168.56.123 vip虚拟IP:192.168.56.111对外提供 1.流程说明 1)直观流程图 2)部署效果 我这边演示只到nginx的界面,具体nginx要代理到哪里,看业务需求 访问http://192.168.56.111:9000/index.html 情况一:三台服务正确...
最新评论