Kubernetes CICD(三):Jenkins CD 插件:Kubernetes CLI
Write by lyc at 2021-06-01jenkins对接k8s
Kubernetes CICD(三):Jenkins CD 插件:Kubernetes CLI1.Jenkins插件安装:Kubernetes CLI
2.添加 kubeconfig 凭据添加Jenkins 凭据:凭据类型选择 “Secret file”,cluster-admin 管理员用户 kubeconfig 文件内容保存为 kubeconfig 附件上传。~/.kube/config
3.Jenkins Pipeline
Kubernetes CLI Plugin
流水线语法从流水线语法中,可以得到 Kubernetes CLI 的 Pipeline 用法。
编写 Pipeline123456789101112131415161718192021node () { stage('GitCheckout'){ echo 'Git Checkout' } stage('Test ...
CentOS7 安装 composer
Write by lyc at 2021-8-12linux安装composerComposer 安装与使用
CentOS7 安装 composerComposer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。
Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。
Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。
Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。
1.先关闭 php open_basedir 限制配置12345# 注释$ vim /usr/local/php/etc/php.ini# open_basedir = /tmp:/data/wwwroot/:/data/ftp/:/www/web$ systemctl restart php-fpm
2.下载安装 composer123456789 ...
cobbler-2.8.5 安装部署 CentOS7
Write by lyc at 2021-8-6Cobbler 官网Cobbler GitHubCobbler Quickstart GuideCobbler自动化部署
cobbler-2.8.5 安装部署 CentOS7cobbler 是一个基于pxe安装原理的使用 python编写的实现自动化网络安装的软件,提供了多种安装参数和命令,可以实现批量安装操作系统,甚至有web管理界面。
1.cobbler-2.8.5 安装关闭防火墙、selinux1234$ systemctl stop firewalld iptables$ systemctl disable firewalld iptables$ setenforce 0$ sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
安装 cobbler
cobbler, cobbler-web Cobbler 服务
pykickstart, fence-agents 自动应答
xinetd 守护
rsyncd 同步工具
httpd a ...
Kubernetes CICD(二):Jenkins CI 插件:Kubernetes
Kubernetes CICD(二):Jenkins CI 插件:KubernetesJenkins Kubernetes Plugin 插件 GitHub 项目地址为 kubernetes-plugin ,实现了 当 Jenkins Master 接受到 Build 请求时,会根据配置的 Label 动态创建一个运行在 Pod 中的 Jenkins Slave 并注册到 Master 上,当运行完 Job 后,这个 Slave 会被注销并且这个 Pod 也会自动删除,恢复到最初状态。
1.Jenkins 安装插件:KubernetesJenkins 选择“插件管理”,搜索并安装 Kubernetes 插件
2.Kubernetes 插件配置:Configure Clouds安装后添加和配置 Kubernetes Cloud 作为 Jenkins 配置的一部分,依次进入:
Manage Jenkins -> Manage Nodes and Clouds -> Configure Clouds
2.1 Configure Clouds: Configure Kubern ...
CentOS7 编译安装 Redis-6.0.15
Write by lyc at 2021-7-30Redis Downloadredis 6.0.x简介和安装
CentOS7 编译安装 Redis-6.0.151.安装高版本 gcc由于 redis 6.0 版本以上编译安装需要使用 5.3 以上的 gcc,而Linux默认 gcc 版本4.8.X
12345678910111213141516# 查看默认gcc版本号$ gcc -v....gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) # 安装scl源yum install -y centos-release-scl scl-utils-build# 安装9版本的gcc、gcc-c++、gdb工具链yum install -y devtoolset-9-toolchain# 启用gcc高版本$ scl enable devtoolset-9 bash$ gcc -v....gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC) # 已成功切换gcc版本
注意:scl 命 ...
docker 安装zabbix-proxy-4.0.16(主动模式)
Write by lyc at 2021-7-28
docker 安装zabbix-proxy-4.0.16(主动模式)1.mysql 数据库权限准备使用 mysql-5.7.x 来作为 zabbix-prox 的数据库,mysql 权限分配参考文档 《zabbix-proxy 4.0.16 RPM安装》
2.docker-compose.yml 编排
zabbix告警:More than 100 items having missing data for more than 10 minutes
这里使用 mysql 作为数据库的容器镜像 zabbix/zabbix-proxy-mysql,在介绍页可以找到 zabbix-proxy 的参数,配置到 environment 字段中来调节。
12345678910111213141516171819202122232425262728293031$ vim docker-compose.yml version: '3.5'services: zabbix-proxy: image: zabbix/z ...
Linux 磁盘顺序读写性能测试工具:dd
Write by lyc at 2021-06-17
Linux 磁盘顺序读写性能测试工具:dddd 命令是用来测试磁盘吞吐量(顺序读写)的常用工具。
1.dd 顺序写12# 样本文件Size:10G$ dd if=/dev/zero of=/data/test bs=512k count=20480 oflag=direct; rm -f /data/test
/dev/zero 是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在 of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
/dev/zero (产生字符)不产生IO,当输入设备 if=/dev/zero 时用来测试纯写速度
bs 同时设置读写块的大小为,单位kb,dd一般用来测试大文件的顺序读写,所以常用 bs=512K;
oflag=direct 读写数据跳过内存缓存,采用直接IO方式,测到的才是真实的IO速度。 oflag=sync 将跳过hdd缓存。
2.dd 顺序读12$ dd if=/dev/vdb of=/dev/null bs=512k iflag=direct# ...
kubernetes 工作负载控制器特性:rollout 滚动更新
Write by lyc at 2021-7-21k8s的应用回滚–recordKubernetes 滚动更新及回滚
kubernetes 工作负载控制器特性:rollout 滚动更新当集群中的某个服务需要升级时,我们需要停止目前与该服务相关的所有 Pod,然后重新拉取镜像并启动。如果集群规模比较大,则这个工作就变成了一个挑战,而且先全部停止然后逐步升级的方式会导致长时间的服务不可用。
Kubernetes提供了 rolling-update 滚动升级功能来解决上述问题:
滚动升级通过执行kubectl rolling-update 命令一键完成,该命令创建了一个新的 RC,然后自动控制旧的 RC 中的 Pod 副本数量逐渐减少到 0,同时新的 RC 中的 Pod 副本的数量从 0 逐步增加到目标值,最终实现了 Pod 的升级。系统会要求新的 RC 和旧的 RC 在相同的命名空间下。
1.kubectl rollout 命令kubectl rollout 对资源进行管理。可用资源包括:deployment, daemonset, statefulsets
kubectl rollo ...
Python virtualenv,virtualenvwrapper 虚拟环境
Write by lyc at 2021-7-14python三大神器之virtualenvPython三神器之virtualenv、virtualenvwrapper
Python virtualenv,virtualenvwrapper 虚拟环境一、virtualenv 虚拟环境virtualenv 用来建立一个虚拟的 Python 环境,一个专属于某个项目的 Python环境。
virtualenv 虚拟环境解决了项目包隔离、环境污染的问题。这能帮助确保安装、部署和开发者之间的一致性。
1.安装12$ pip install virtualenv$ virtualenv --version
2.虚拟环境创建进入项目的工程目录,创建一个虚拟环境
12345678910$ cd /data/wwwroot$ virtualenv ${PROJECT}# 或python3.8 -m venv /data/py_env/wwwroot/${PROJECT}# 或cd /data/wwwrootvirtualenv -p /usr/local/p ...
etcd 集群增加或删除节点
Write by lyc at 2021-7-12etcd集群添加节点
etcd 集群增加或删除节点1. 现有集群替换 etcd SSL 证书etcd 集群服务器信息
名称
etcd版本
系统
IP
备注
etcd-1
3.4.16
CentOS7
192.168.100.190
etcd-2
3.4.16
CentOS7
192.168.100.191
etcd-3
3.4.16
CentOS7
192.168.100.192
etcd-4
3.4.16
CentOS7
192.168.100.193
测试新增和删除
1.1.重新生成 etcd SSL证书因为在创建旧集群时 server-csr.json 里面写死了证书认证的 hosts,现在要添加新节点的 IP 进去。
12345678910111213141516171819202122232425$ cd /opt/tls/etcd# 创建ssl证书所需的配置文件$ cat > server-csr.json << EOF{ "CN": ...