记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
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 情况一:三台服务正确...
linux抓包工具tcpdump基本使用tcpdump 是一款灵活、功能强大的抓包工具,能有效地帮助排查网络故障问题。tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包。它通常被用作于网络故障分析工具以及安全工具。tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛。由于它是命令行工具,因此适用于在远程服务器或者没有图形界面的设备中收集数据包以便于事后分析。它可以在后台启动,也可以用 cron 等定时工具创建定时任务启用它。本文中,我们将讨论 tcpdump 最常用的一些功能。1、在 Linux 中安装 tcpdump$ which tcpdump /usr/sbin/tcpdump如果还没有安装 tcpdump,你可以用软件包管理器安装它。 例如,在 CentOS 或者 Red Hat Enterprise 系统中,用如下命令安装 tcpdump:$ sudo yum install -y tcpdumptcpdump 依赖于 libpcap,该库文件用于捕获网络数据包。如果该库文件也没有安装,系统会根据依赖关系自动安装它。 现在你可以开始抓包了。2、用 tcpdump 抓包使用 tcpdump 抓包,需要管理员权限,因此下面的示例中绝大多数命令都是以 sudo 开头。首先,先用...
 
0

Kubernetes三种探针

发表者:admin分类:云计算容器2022-01-06 23:29:30 阅读[538]
Kubernetes三种探针 k8s支持存活livenessProbe和就绪readinessProbe两种探针,两种探针都支持以下三种方式 一、exec 通过执行shell命令的方式,判断退出状态码是否是0,示例: exec: command: - cat - /tmp/healthy 二、tcp 通过TCP请求的方式,是否能建立tcp连接,示例: tcpSocket: port: 8080 initialDelaySeconds: 15 periodSeconds: 20 三、httpGet 通过发起http请求,判断返回结果是否符合预期,示例:... livenessProbe: httpGet: path: /healthz port: 8080 httpHeaders: - name: X-Custom-Header value: Awesome initialDelaySeconds: 3 periodSeconds: 3 initialDelaySeconds指定了容器启动后多少秒后进行探测 periodSeconds指定每隔多少秒进行探测   Liveness 探测 Liveness 探测让用户可以自定义判断容器是否健康的条件。如果探测失败,Kubernetes 就会重启容器。还是举例说明,创建如下 Pod:启动进程首先...
docker搭建grafana+loki+promtail日志收集系统 1.拉取镜像docker pull grafana/grafana:7.4.3 docker pull grafana/promtail:2.1.0 docker pull grafana/loki:2.1.0 2.loki搭建 1)新建配置文件 创建文件:mkdir -p /usr/local/docker/loki 配置文件: vi /usr/local/docker/loki/loki-config.yaml auth_enabled: false server:  http_listen_port: 3100  grpc_listen_port: 3110  grpc_server_max_recv_msg_size: 1073741824  #grpc最大接收消息值,默认4m  grpc_server_max_send_msg_size: 1073741824  #grpc最大发送消息值,默认4m ingester:  lifecycler:    address: 127.0.0.1    ring:      kvstore:        store: inmemory      replication_factor: 1    final_sleep: 0s  chunk_idle_period: 5m  chunk_retain_period: 30s  max_transfer_retries: 0  max_chunk_age: 20m  #一个timeseries块在内存中的最大持续时间。如果timeseries运行的时间超过此时间,则当前块将刷新到存储并...
 
0
jenkins pipeline语法与示例基础 一、Jenkins介绍      二、Jenkins Pipeline介绍 Jenkins Pipeline总体介绍 1.Pipeline 是Jenkins 2.X核心特性,帮助Jenkins实现从CI到CD与DevOps的转变 2.Pipeline 简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立 运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流 程编排与可视化。 什么是Jenkins Pipeline 1.Jenkins Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。 2.持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完 整过程的自动化表现。 3.软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。 Pipeline提供了一组可扩展的工具,通过Pipeline Domain Specific Language (DSL) syntax可以达到Pipeline as Code的目的 Pipeline as Code:Jenkinsfile 存储...
 
0

vscode10个必装的插件

发表者:admin分类:Devops2022-01-06 21:23:30 阅读[474]
vscode10个必装的插件   VSCode 必装的 10 个高效开发插件   本文介绍了目前前端开发最受欢迎的开发工具 VSCode 必装的 10 个开发插件,用于大大提高软件开发的效率。 VSCode 的基本使用可以参考我的原创视频教程「VSCode 高效开发必装插件」。 VSCode(Visual Studio Code)是由微软研发的一款免费、...
k8s的Health Check(健康检查)   强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署。 避免部署无效的镜像。 ...
Docker安装部署MySQL+Canal+Kafka+Camus+HIVE数据实时同步 因为公司业务需求要将mysql的数据实时同步到hive中,在网上找到一套可用的方案,即MySQL+Canal+Kafka+Camus+HIVE的数据流通方式,因为是首次搭建,所以暂时使用伪分布式的搭建方案。 一、安装docker 安装docker的教程网上一搜一大把,请参考: centos下docker安装教程 二、docker安装MySQL 安装教程网上也有很多,请参考: docker安装MySQL 1. 开启 Binlog 写入功能 安装完成后,要配置MySQL,开启binlog的写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下:vim /etc/my.cnf[mysqld]log-bin=mysql-bin # 开启 binlogbinlog-format=ROW # 选择 ROW 模式server_id=1 # 配置 MySQL replaction 需要定义,不能和 canal 的 slaveId 重复#重启MySQL数据库service mysql restart 2. 创建并授权canal用户 授权 canal 连接 MySQL账号具有作为 MySQL slave的权限,如果已有账户可直接 grantCREATE USER canal IDENTIFIED BY 'canal'; GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;#一定要刷新权限FLUSH PRIVILEGES; ...
Kubernetes之容器数据写满磁盘解决方法磁盘写满引发的后果容器数据磁盘写满造成的后果:Pod 不能删除 (一直 Terminating)Pod 不能被创建 (一直 ContainerCreating)磁盘写满分两种情况:磁盘空间全部使用完# 系统盘被占满 $ df -Th 文件系统       类型      容量  已用  可用 已用% 挂载点 /dev/vda1    ext4      50G  50G   0G   100% / /dev/vdb1    ext4    100G  10G  90G   10% /data 磁盘 Inode 全部使用完# 数据盘 Inode 被占满 $ df -i 文件系统       Inode 已用(I) 可用(I) 已用(I)% 挂载点 /dev/vda1    3276800  3276800 0      100% / 判断磁盘写满方法下面命令能快速的排查...
在 KubeSphere 上安装 PorterLB 本文档介绍如何在KubeSphere Web 控制台上安装和删除 PorterLB。 注意 在 Kubernetes 集群中,您只需要安装一次 PorterLB。安装完成后,将在集群中安装包含 Porter-manager Pod 的 Porter-manager Deployment。Porter-manager Pod 为整个 Kubernetes 集群实现了 PorterLB 的功能。 安装完成后,您可以扩展 Porter-manager Deployment 并将多个 PorterLB 副本(Porter-manager Pod)分配给多个集群节点,以确保高可用性。有关详细信息,请参阅配置多个 PorterLB 副本。 先决条件 您需要使用 KubeSphere 准备一个 Kubernetes 集群,并确保 Kubernetes 版本为 1.15 或更高版本。PorterLB 需要 CustomResourceDefinition (CRD) v1,它仅由 Kubernetes 1.15 或更高版本支持。您可以使用以下方法来安装 KubeSphere: 使用 KubeSphere 部署一个新的 Kubernetes 集群。 ...
Kubesphere整合的Jenkins 默认登陆密码查看整合后的密码如下:// 先记着了就不用去查看了P@88w0rd// 也可以使用命令查看kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
    总共176页,当前第12页 | 页数:
  1. 2
  2. 3
  3. 4
  4. 5
  5. 6
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. 13
  13. 14
  14. 15
  15. 16
  16. 17
  17. 18
  18. 19
  19. 20
  20. 21
  21. 22