记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
如何在Linux中查找和删除空目录和文件 1. 使用 find -empty 查找当前目录中的空目录: $ find . -type d -empty 2. 使用以下命令删除当前目录下的所有空目录: $ find . -type d -empty -exec rmdir {} \; 3. 使用 find -empty 查找当前目录中的空文件: $ find . -type f -empty 注: 通常,某些程序会将空文件创建为占位符、锁定文件或用于通信的套接字文件。 4. 当前目录(和子目录)下有多少个空文件?要计算当前目录下的空文件数,请将 find 命令通过管道传送到 wc -l。 $ find . -type f -empty | wc -l 5. 当前目录(和子目录)下有多少个非空文件? $ find . -type f -not -empty | wc -l 注: Find 选项 -not 会还原其后面的选项。 在上面的所有示例中,将 ( . ) 点替换为要搜索文件的任何其他目录路径。
Windows 下安装postgresql(pgsql) 一.下载 选择免安装版zip版: https://www.postgresql.org/download/windows/ 然后选择你的系统环境,我的是win10 64位所以我选的如下图: https://www.enterprisedb.com/download-postgresql-binaries 点击链接下载 二.安装 1)把下好的zip包解压到你想放的地方:我放的地方是 D:\PgSQL\pgsql11.7 文件夹下 2)新建一个data文件夹,用来存放数据 3)初始化数据库 进入bin目录并执行初始化命令 initdb.exe -D D:\PgSQL\pgsql11.7\data -E UTF-8 --locale=chs -U postgres -W 注: -D :指定数据库簇的存储目录D:\PgSQL\pgsql11.7\data
-E :默认编码格式chs
–locale:关于区域设置(chinese-simplified-china)
-U :指定DB的超级用户的用户名postgres
-W :为超级用户指定密码的提示
期间会提示你输入你要配置的postgres用户的密码! 4)启动数据库 pg_ctl -D D:\tools\postgres\pgsql\data -l logfile start11
这样就可以简单的安装成功了 5)接下来用它自带的客户端访问: 点击bin目录下的pgAdmin4.exe文件 进入后是一个页面,默认是英文,可以通过File -> Preferences -> Miscellaneout ...
kubesphere3.2使用devops流水线进行sonar代码分析一,环境说明。 1,Centos7+kubesphere3.2+devops组件+Jenkins+Sonarqube. 2,kubesphere最新版本按照官网的说明来安装sonar,会出现无法连接pgsql数据库的问题。 3,可以按此文说明安装 SONAR(micoder.cc),可以正常安装使用。二,具体步骤。 1,由于安装的sonar-9.2版本,在使用maven时,sonar会出现java版本不对的报错。[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli) on project devops-sample: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
[ERROR] --------------...
本入门示例适合小白初次体验kubesphere devops. 环境准备 以管理员身份登录kubesphere,选择左上角平台管理–>访问控制–>账号管理–>创建。 1.创建一个普通用户,角色选择platform-regular: 2.然后选择企业空间,创建新的企业空间demo-ws,创建完成点击进入该空间,选择企业空间设置–>企业成员–>邀请成员。 将创建的普通用户加入该企业空间,角色选择self-provisioner,该角色可以在企业空间下创建DevOps工程和项目: any类型代理 切换到普通用户demo-user登录,创建项目kubesphere-sample-dev,创建devops工程demo-cicd。 进入devops工程创建第一个pipeline,只需填写名称demo-pipeline,其他默认,点击下一步完成创建。 点击进入pipeline–>编辑流水线,有3种代理类型可选 代理类型说明: any:调用默认的base pod模板创建jenkins agent运行流水线; node:通过选择label标签,可以调用4种类型的pod模板创建jenkins agent,可配置的label标签为base、nodejs、maven、go这4种标签,也可以登录jenkins管理界面自定义更多pod模板标签; kubernetes:通过yaml文件自定义标准的kubernetes pod模板运行agent执行流水线任务。 这里首先演示any类型,...
ArgoCD简介 Argo CD是用于Kubernetes的声明性GitOps持续交付工具,应用程序定义,配置和环境应为声明性的,并应受版本控制,应用程序部署和生命周期管理应该是自动化、可审核且易于理解。 Argo CD遵循GitOps模式,该模式使用Git仓库作为定义所需应用程序状态的真实来源。 Argo CD可在指定的目标环境中自动部署所需的应用程序状态,应用程序部署可以在Git提交时跟踪对分支,标签的更新,或固定到清单的特定版本。 官网:https://argoproj.github.io/ ArgoCD架构图: Argo CD被实现为kubernetes控制器,该控制器持续监视正在运行的应用程序,并将当前的活动状态与所需的目标状态(在Git存储库中指定)进行比较。当已部署应用程序的运行状态偏离目标状态时将被argoCD视为OutOfSync。 Argo CD报告并可视化差异,同时提供了自动或手动将实时状态同步回所需目标状态的功能。在Git存储库中对所需目标状态所做的任何修改都可以自动应用并同步到指定的目标环境中。 ArgoCD支持的Kubernetes 配置清单包括helm charts、kustomize或纯YAML/json文件等。 本篇文章涉及内容: 使用kubesphere devops实现CI部分, CD部分由argoCD完成; ArgoCD持续监测git仓库某个目录下yaml文件变动,自...
kubesphere3.2.1组件devops流水线使用Sonarqube代码质量分析一,环境说明。 1,主机配置。IP系统主机名称kubernetes信息192.168.1.23Centos7.9centos7-23master+worker节点192.168.1.31Centos7.9centos7-31NFS存储+worker节点 2,kubesphere信息。两台主机使用kk工具安装kubesphere3.2.1,然后安装应用商店,devops组件。这样就可以安装sonarqube代码质量分析 二,sonar具体安装过程。 1,kubesphere官网有安装说明,但是kubesphere3.2.1版本使用官方说明操作,容器部署后,会发现sonar容器连接pgsql数据库时,提示登陆数据库授权失败。 一直没有搞明白是helm的哪里配置文件出错。官方安装说明地址如下:将 SonarQube 集成到流水线 (kubesphere.io) 2,既然官方没法使用,那就只能自己找helm仓库,然后重装安装。 3,在Artifact Hub网站上面找到了一个sonar仓库信息,经测试可以正常安装。 4,helm具体安装命令如下:helm repo add sonarqube https://SonarSource.github.io/helm-chart-sonarqubehelm upgrade --install sonarqube sonarqube/sonarqube --version 1.2.5+179 -n kubesphere-devops-system --create-namespace --set service.type=NodePort 5,查看s...
Jenkins给k8s部署YAML文件传参数方法一,环境说明。 1,k8s集群。 2,Jenkins流水线部署在k8s环境中。二,参数问题。 1,Jenkins使用CICD时需要传参数给k8s的YAML文件。 2,有两种方法,如下面的Jenkinsfile内容,只选取一部分。 可以看出来,parameters中有两个参数:APP_NAME,PROJECT_NAME。 另外enviroment中不少参数,其中PROJECT_VERSION参数指向了APP_NAME,这里需要使用双引号。 stage('image-push') {
agent none
steps {
container('base') {
sh 'docker tag ui-web:latest $REGISTRY/$ALIYUNHUB_NAMESPACE/ui-web:SNAPSHOT-$BUILD_NUMBER'
withCredentials([usernamePassword(credentialsId : 'aliyun-id' ,passwordVariable : 'DOCKER_PASSWORD' ,usernameVariable : 'DOCKER_USERNAME' ,)]) {
sh 'echo "$DOCKER_PASSWORD" | docker login $REGISTRY -u "$DOCKER_USERNAME" --password-stdin'
sh 'docker push $REGISTRY/$ALIYUNHUB_NAMESPACE/ui-web:SNAPSHOT-$BUILD_NUMBER'
}
}
}
} environment { DOCKE...
k8s部署pod和service时yaml传参问题的解决 1.问题提出 我们有N多的微服务需要部署,但是往k8s中部署的yaml文件没必要写N个,因为整个文件的框架是定的,只是其中的服务名字,pod名字,负载的个数,端口等需要变化,怎么解决呢? 2. 解决方案 对于我们程序员第一想到就是传参。那么怎么穿参数呢? 即脚本调用这个yaml文件的时候怎么把参数穿进去? 3. 总结 其实就是使用了linux的基础命令,但是这个方案时不错的。
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 -----> 找到自己...
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 验证需要在启...
最新评论