kubectl create 一直处于 ContainerCreating 状态

使用命令查看 pods 状态,发现过去很久还是没有启动成功。 guoqingsongmbp:k8s guo$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx 0/1 ContainerCreating 0 15s 1 2 3 继续查看详情 guoqingsongmbp:k8s guo$ kubectl describe pod nginx Name: nginx Namespace: default Node: minikube/192.168.99.105 Start Time: Tue, 25 Dec 2018 17:45:28 +0800 Labels: app=nginx Annotations: <none> Status: Pending IP: Containers: nginx: Container ID: Image: nginx …

HAproxy Web 负载均衡解决方案

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 下图是HAProxy的架构: 下图是HAProxy的监控页面截图: HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

localedef增加中文支持

#查看语言支持列表 localedef –list-archive #精简locale cd /usr/lib/locale/ mv locale-archive locale-archive.old localedef -i en_US -f UTF-8 en_US.UTF-8 # 添加中文支持(可选) localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 localedef -i zh_CN -f GB2312 zh_CN localedef -i zh_CN -f GB2312 zh_CN.GB2312 localedef -i zh_CN -f GBK zh_CN.GBK #下面这些也是可选的,可以丰富中文支持(香港/台湾/新加坡) localedef -f UTF-8 -i zh_HK zh_HK.UTF-8 localedef -f UTF-8 -i zh_TW zh_TW.UTF-8 localedef …

Centos添加环境变量(~/.bash_profile、/etc/profile、/etc/profile.d)

环境变量 bash shell用一个叫做环境变量的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问到它们。 Linux中环境变量分为三种: 全局环境变量:对于shell会话和所有生成的子shell都是可见的 局部环境变量:只对创建它的shell可见,即当前创建的用户可见 用户定义变量:只对当前会话生效 创建全局环境变量 在/etc/profile文件中创建全局环境变量 /etc/profile文件: **当一个用户登录Linux系统或使用su -命令切换到另一个用户时,也就是Login shell 启动时,首先要确保执行的启动脚本就是 /etc/profile 。**只有Login shell 启动时才会运行 /etc/profile 这个脚本,而Non-login shell 不会调用这个脚本。 一些重要的变量就是在这个脚本文件中设置的,含义如下: PATH: 预设可执行文件或命令的搜索路径。 USER: 用户登录时使用的用户名。 LOGNAME: 其值为$USER。 HOSTNAME: 所使用的主机名。 MAIL: 存放用户电子邮件的邮箱(实际上是一个ASCII码文件)。 HISTSIZE: 历史记录的行数。 INPUTRC: 存放的是针对键盘热键的信息(也是一个ASCII码文件)。 打开/etc/profile文件,PATH=$PATH:/usr/local/php/sapi/fpm就是定义了一个全局变量 PATH=$PATH:/usr/local/php/sapi/fpm PATH=$PATH:/usr/local/openresty/nginx/sbin PATH=$PATH:/usr/local/php/bin PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib #PATH=$PATH:/usr/local/apache24/bin/ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 1 2 3 4 …

查看pod启动失败原因

Focusing specifically on the example showed in the question. The setup is following: 1 GKE node with: 1 vCPU and 3.75 GB of RAM The resources scheduled onto this single node cluster: 4 Deployments where each have following fields: resources: requests: # <– IMPORTANT cpu: “100m” # <– IMPORTANT memory: “128Mi” limits: cpu: “100m” memory: …

sonarqube排除路径不生效

首先要设置 语言:sonar.language=java /**** 然后要设置 扫描源文件和编译文件 sonar.sources=./ sonar.java.binaries=./ 在设置 排除文件: sonar.exclusions=./ 具体的匹配规则可以参考sonar的官方文档,非常简单 (docs.sonarqube.org )。注意使用maven项目时匹配的文件夹基础是project base dir。 Wildcard Matches ? 匹配单个字符 ** 匹配0个或多个文件夹 * 匹配0个或多个字符 例子: 排除以bean.java和dto.java为结尾的所有java文件> sonar.exclusions=/*Bean.java,/*DTO.java 排除文件夹 “src/main/java/org/sonar” 中所有的java文件,不包括子文件夹 sonar.exclusions=src/main/java/org/sonar/* 表达式: 正确的写法: sonar.exclusions=**/*R*.java,**/*Test.java 有时如果不设置 sonar.sources=./ sonar.java.binaries=./ 那么sonar.exclusions=./ 会没有效果 ———————————————— 版权声明:本文为CSDN博主「lxlmycsdnfree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lxlmycsdnfree/article/details/80185680

jenkins:集成sonar代码扫描+发送邮件

前提: Jenkins JDK 目录: 1、安装sonar插件:SonarQube Scanner for Jenkins 2、安装SonarQube 3、安装sonar-scanner +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1.安装sonar插件:SonarQube Scanner for Jenkins 2、安装SonarQube,并配置mysql数据库 2.1 下载 下载地址:https://www.sonarqube.org/downloads/   2.2 解压 下载后放在/usr/local目录下,并解压 unzip sonarqube–7.4.zip  2.3 配置环境变量 vi /etc/profile 里面写如下 #set sonarqube export SONAR_HOME=/usr/local/sonarqube–7.4 PATH=$PATH:$SONAR_HOME/bin 使配置生效 source /etc/profile  2.4 启动并测试 进入到启动目录 /usr/local/sonarqube–7.4/bin/linux–x86–64 执行启动命令 ./sonar.sh start 启动时要查看es.log和sonar.log日志,还有web.log,关于数据库配置的错误会在此处显示 tail –f /usr/local/sonarqube–6.7.6/logs/es.log tail –f /usr/local/sonarqube–6.7.6/logs/sonar.log tail –f /usr/local/sonarqube–6.7./logs/web.log 用root启动会报错,请参考我的另一篇文章:https://www.cnblogs.com/gcgc/p/10239590.html …

jenkins构建结果企业微信提醒

每当jenkin在构建之后我们想把构建结果SUCCESS/FAILURE或者其他信息通知给其他人,也许有人会说,不是有邮件提醒吗?但是我这里的环境邮件提醒的话所被通知者并不会第一时间去阅读,所以我们用“钉钉”,“企业微信”来第一时间去通知你想通知的小伙伴们。 因为我这里的环境用的是企业微信所以本文都是基于企业微信来说的,不过在钉钉上也可以使用,也可以利用钉钉在jenkins上的插件,那样更方便些。 进入正题 我们要获得jenkin的构建结果是SUCCESS还是FAILURE是需要jenkin构建完毕才能获取到的,那么我们从哪里能获得构建结果以及其他信息呢? 我们可以用日志信息或者api的构建信息来获取 我们 我们可以用日志信息或者api的构建信息来获取,这里我们是基于查看日志来查看构建结果以及其他信息,我这里以windows环境以及jenkins默认安装环境来举例 每一次日志文件的位置我们可以在如图位置找到 我们去最后一次构建结果查看日志文件 在结果查看构建结果是否成功 那么我们可以用python来写个读取结果的脚本,用jenkins来自动运行 import requests import json import urllib.request import urllib.error import time # 获取构建结果 def getResult(): fname = pathGitLab with open(fname, ‘rb’) as f: #打开文件 first_line = f.readline() #读第一行 #print (first_line) off = -50 #设置偏移量 while True: f.seek(off, 2) #seek(off, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50) lines = f.readlines() #读取文件指针范围内所有行 # …

jenkins 通过shell启动java应用程序会随着job完成而被自动关闭的解决方法

我们使用jenkins进行构建打包后,实现自动部署,但 通过shell启动应用程序后,构建job完成应用程序也会自动关闭。下面以tomcat为例 如上执行后,tomcat先关闭,而后部署启动成功,可以访问。但构建job只完成后,tomcat自动关闭。 解决如下: 在脚本前面添加上BUILD_ID=XXXXX,即可如下: 这样job结束后,tomcat不会自动关闭。