记录关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题,
kubesphere3+jenkins实现cicd部署nodejs前端项目一,具体环境. 1,两台主机,centos7+kubesphere3.2.1+devops-jenkins,his是项目企业空间名称。 2,演示demo,是ruoyi的ui前端,地址: https://gitee.com/micoder/demo.git,已经写好实现的Jenkinsfile,Dockerfile,deploy.yaml。 3,需要配置 gitee-id,凭证为 gitee的账号密码信息。k8s-demo是kubeconfig,是部署deploy.yaml资源时使用的凭证。aliyun-id是镜像仓库的账号密码的领证,这几个都是在流水线中的凭证里面创建的。这些凭证就是jenkinsfile中用来变量替换的。 4,还需要一个 密保字典 aliyun-docker-id ,这个是给微服务YAML文件应用部署时拉取镜像需要的,如果不需要,除非你是公开镜像。如下图: 5,关于kubesphere登陆账号: devops-yp ,注意如果只是在 '企业空间成员' 中添加了账号,并且给了最大权限,那可能会出现,流水线最后一步k8s部署YAML文件时会出错误,提示没有对应his空间资源使用权限。 可以把devops-yp账号再加入到 his '项目成员' ,如果还是提示一样的问题。可以使用admin账号登陆,到 集群管理 ----> 配置字典 ----> kubesphere-controls-system -----> 找到自己...
 
0
jenkins升级导致csrf问题报错403由于将jenkins由2.204升级到最新版本后,调用接口报错,错误如下 2020-10-29 06:11:32.708+0000 [id=9] WARNING hudson.security.csrf.CrumbFilter#doFilter: Found invalid crumb 62600442318862ac61c4c41c1f5de02c60b5de666a13a04d1212be85c8e64a70. If you are calling this URL with a script, please use the API Token instead. More information: https://jenkins.io/redirect/crumb-cannot-be-used-for-script 2020-10-29 06:11:32.709+0000 [id=9] WARNING hudson.security.csrf.CrumbFilter#doFilter: No valid crumb was included in request for /job/build-tcpjw-sso-uaa-web-master-local-prod-paas/buildWithParameters by admin. Returning 403. 由于报错推测是安全问题引起,应该是csrf问题,查看更新日志,如下 由于 jenkins不能正常使用,所以之前修改过流水线配置的,那么jenkins中的配置,也未变化,需要重装配置。1、方法一,未验证,好像不能解决问题。      就是修改 config.xml中的配置,再重启,jenkins。测试没有什么用。或是采用启动命令中添加参数,下面这种方法:取消 csrf 验证需要在启...
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
    总共247页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11