文章 50
评论 0
浏览 20494
Centos与Ubuntu初始化shell脚本

Centos与Ubuntu初始化shell脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2020-12-18 #FileName:reset_Linux_OS_v4.sh #URL: [https://www.zhangzhuo.ltd](https://www.zhangzhuo.ltd) #Description:The test script #Copyright (C): 2020 All rights reserved #******************************************************************** Centos(){ centos_Version(){ Version=`grep -Eo "[0-9].[0-9]" /etc/redhat-release | tr '.' '%' | tr '\n' % |cut -d% -f 1` #Version=`se....

docker镜像上传下载脚本

docker镜像上传下载脚本

一、镜像下载以及替换tag list=`cat $1` #修改后的镜像仓库 Registry='harbor.zhangzhuo.org/base/' echo > images-save.txt echo > images-name.txt for var in $list;do #取镜像名称及tag tmp=${var##*/} #取镜像仓库url repo=${var%/*} #取镜像名称 project=${tmp%%:*} #取镜像tag tag=${tmp##*:} #修改原本镜像仓库url地址为新的的仓库url地址 eval new_image_url=${Registry}${tmp} #拉取镜像 docker pull ${var} #修改镜像tag docker tag ${var} ${new_image_url} #导出镜像 docker save ${new_image_url} -o ${project}-${tag}.tar.gz #记录导出的文件名称 echo ${project}-${tag}.tar.gz >> images-....

自动化部署zabbix-agent

自动化部署zabbix-agent

role目录结构 [17:57:10 root@ansible zabbix-agent]#tree . ├── role_zabbix-agent.yml #主playbook文件 └── zabbix-agent ├── files │   ├── echo.sh #自定义采集监控数据脚本 │   └── zabbix-4.0.30.tar.gz #zabbix源码包 ├── tasks │   ├── main.yaml #主tasks文件 │   ├── zabbix_conf.yaml #zabbix配置文件生成 │   ├── zabbix_install.yaml #安装zabbix-agent │   └── zabbix_service.yaml #生成zabbix-agent的service ├── templates │   ├── zabbix_agentd.conf.j2 #zabbix-agent配置文件模板 │&nbs....

自动化部署docker

自动化部署docker

docker的role目录结构 [19:07:17 root@ansible docker]#tree . ├── docker │   ├── files │   │   └── docker-19.03.15.tgz #docker二进制安装文件 │   ├── handlers │   ├── tasks │   │   ├── docker_etc.yaml #docker的etc配置文件,主要为镜像加速地址配置 │   │   ├── docker_install.yaml #docker二进制安装过程 │   │   ├── docker_service.yaml #docker服务的service文件生成 │   │   ├── docker_start.yaml #docker服务器启动 │  ....

运维自运化之ANSIBLE

运维自运化之ANSIBLE

一、Ansible 介绍和架构 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备。公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大为了在年底有所表现,要求运维部门同学尽快实现,当你接到这个任务时,有没有更快的解决方案? 1.1 Ansible发展史 作者:Michael DeHaan( Cobbler 与 Func 作者) ansible 的名称来自科幻小说《安德的游戏》中跨越时空的即时通信工具,使用它可以在相距数光年的距离,远程实时控制前线的舰队战斗2012-03-09,发布0.0.1版,2015-10-17,Red Hat宣布1.5亿美元收购 官网:https://www.ansible.com/ 官方文档:https://docs.ansible.com/ 1.2 Ansible 特性 模块化:调用特定的模块完成特定任务,支持自定义模块,可使用任何编程语言写模块 Paramiko(python对ssh的实现),PyYAML,Jinja2(模板语言)三个关键模块 基于Python....

数据备份之xtrabackup

数据备份之xtrabackup

xtrabackup工具 官方网站:https://www.percona.com/software/mysql-database/percona-xtrabackup 如果数据库数据量比较大推荐使用xtrabackup工具进行数据备份 1.1 xtrabackup介绍 xtrabackup命令 #常用参数 --user #该选项表示备份账号 --password #该选项表示备份的密码 --port #该选项表示备份数据库的端口 --host #选项表示备份数据库的地址 --socket #该选项表示mysql.sock所在位置,以便备份进程登录mysql。 --defaults-file #该选项指定了从哪个文件读取MySQL配置,必须放在命令行第一个选项的位置 --databases #该选项接受的参数为数据名,如果要指定多个数据库,彼此间需要以空格隔开;如:"db1 db2",同时,在指定某数据库时,也可以只指定其中的某张表。如:"mydatabase.mytable"。该选项对innodb引擎表无效,还是会备份所有innodb表。此外,此选项也可以接受一个文件为参数,文件中每....

k8s运维相关

k8s运维相关

一、k8s运维示例 和运维相关的日常运维事宜 1.1 手动调整pod数量 kubectl scale 对运行在k8s 环境中的pod 数量进行扩容(增加)或缩容(减小)。 #当前pod数量 [16:01:39 root@k8s-master1 ~]#kubectl get deployments.apps -n zhangzhuo NAME READY UP-TO-DATE AVAILABLE AGE zhangzhuo-nginx-deployment 1/1 1 1 3h50m zhangzhuo-tomcat-app1-deployment 1/1 1 1 3h49m #查看命令帮助 [16:05:14 root@k8s-master1 ~]#kubectl --help | grep scale scale Set a new size for a Deployment, ReplicaSet or Replication Controller #执行扩容/缩容 [16:05:43 root@k8s-master1 ~]#kubectl scale deployment/zha....

Prometheus监控服务

Prometheus监控服务

一、Prometheus简介 官方网站:https://prometheus.io/docs/ github地址:https://github.com/prometheus Prometheus是基于go语言开发的一套开源的监控、报警和时间序列数据库的组合,是由SoundCloud公司开发的开源监控系统, Prometheus于2016年加入CNCF(Cloud Native Computing Foundation,云原生计算基金会),是CNCF继kubernetes 之后毕业的第二个项目,prometheus在容器和微服务领域中得到了广泛的应用,其特点主要如下: 1.使用key-value的多维度格式保存数据 2.数据不使用MySQL这样的传统数据库,而是使用时序数据库,目前是使用的TSDB 3.支持第三方dashboard实现更高的图形界面,如grafana(Grafana 2.5.0版本及以上) 4.功能组件化 5.不需要依赖存储,数据可以本地保存也可以远程保存 6.服务自动化发现 7.强大的数据查询语句功(PromQL,Prometheus Query Language) ....

k8s资源对象yaml文件详解

k8s资源对象yaml文件详解

一、Namespace namespace用来在k8s集群中进行逻辑隔离资源,也可以使用ResourceQuota进行整个namespace资源限制 apiVersion: v1 #API版本 kind: Namespace #类型为namespace metadata: #定义元数据 name: zhangzhuo #namespace名称 namespace相关查看命令 #查看namespaces [18:09:37 root@k8s-master1 mnt]#kubectl get namespaces NAME STATUS AGE default Active 29h kube-node-lease Active 29h kube-public Active 29h kube-system Active 29h kubernetes-dashboard Active 37m nide Active 77s zhangzhuo Active 5h32m #查看namespace详细信息 [18:10:11 root@k8s-master1 mnt]#kubectl descr....

k8s运行服务

k8s运行服务

一、运行web服务 k8s运行规划图 k8s中镜像设计规划 #镜像存放目录结构如下 [10:41:45 root@k8s-master1 ~]#tree /k8s-data/dockerfile/ /k8s-data/dockerfile/ ├── system │ ├── alpine │ ├── centos │ └── ubuntu └── web ├── nginx └── tomcat 1.1 运行nginx服务 将nginx运行在k8s中并可以从外部访问到nginx的web页面。 1.1.1 centos基础镜像制作 #文件列表 [11:02:51 root@harbor centos]#pwd /k8s-data/dockerfile/system/centos [11:02:53 root@harbor centos]#tree . ├── build-command.sh ├── Dockerfile └── filebeat-7.12.1-x86_64.rpm #Dockerfile文件内容 [11:08:03 root@harbor centos]#cat ....

k8s运行机制与术语

k8s运行机制与术语

一、k8s运行机制及术语 分解k8s集群中master、node、etcd、calico和flannel的运行机制 1.1 master节点运行机制 k8s的master节点共有三个服务分别是kube-apiserver,kube-controller-manager,kube-scheduler kube-apiserver:是整个系统的数据总线和数据中心。 kube-controller-manager:作为集群内部的管理控制中心。 kube-scheduler:负载Pod的调度。 1.1.1 kube-apiserver 官方文档:https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-apiserver/ k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。 apiserver 目前在master监听两个端口,通过 --insecure-port int 监听一个非安全的12....

Ceph分布式存储

Ceph分布式存储

一、分布式存储概述 1.1 存储分类 单机存储 SCSI/SAS/USB/PCI-E、SSD/NVME(提升性能) 网络存储(带文件系统) NFS/Samba/NAS SAN:SAN(Storage Area Network,存储区域网络 块设备-块级别存储 ISCSI-Internet Small Computer System Interface(小型计算机系统接口,又称为 IP-SAN,是一种基于网络的的存储技术) FC-SAN 单机磁盘的空间问题、IO 问题、高可用问题- 商业解决方案-EMC、NetAPP、戴尔、华为、浪潮 分布式存储 Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS 常见分布式存储对比:https://www.cnblogs.com/yswenli/p/7234579.html 服务分为读数据和写数据,读可以在任何一个节点读,但是写只能写在特定的节点,如 Redis 的 master、zookeeper 的 leader、MySQL 的master等场景。 1.2 数据分类及存储分类 数据分为元数据和数据: 分布....

Jenkins代码升级脚本示例

Jenkins代码升级脚本示例

[20:57:03 root@jenkins jenkins]#cat web1.sh #!/bin/bash DATE=`date +"%Y-%m-%d_%H-%M-%S"` GROUP="$1" BRANCH="$2" IP_list(){ if [ ${GROUP} == "GROUP1" ];then HOST_IP='192.168.10.183' echo "${HOST_IP}" elif [ ${GROUP} == "GROUP2" ];then HOST_IP='192.168.10.184' echo "${HOST_IP}" elif [ ${GROUP} == "GROUP3" ];then HOST_IP='192.168.10.183 192.168.10.184' echo "${HOST_IP}" fi } clone_code(){ echo "即将开始从clone ${BRANCH}分支代码" cd /data/jenkins/git && rm -rf * && git clone -b ${BRANCH} git@....

k8s二进制ansible部署

k8s二进制ansible部署

一、k8s集群环境搭建 k8s集群环境主要是kubernetes管理端服务(kube-apiserver、kube-controller-manager、kube-scheduler)的高可用实现,以及node节点上的 (kubelet、kube-proxy)客户端服务的部署。 Kubernetes设计架构:https://www.kubernetes.org.cn/kubernetes%E8%AE%BE%E8%AE%A1 1.1 k8s高可用集群环境部署规划 按照实际环境需求,进行规划与部署相应的单master或者多master的高可用k8s运行环境。 1.1.1 单master环境 1.1.2 多master环境 1.1.3 服务器统计 | 类型 | 服务器IP地址 | 备注 | | - | - | - | | ansible(2台) | 192.168.10.189 | 推荐生产环境2台,一台也可以但是要把数据做好备份 | | k8s-master(3台) | 192.168.10.181/182/183 | k8s控制端,通过一个vip做主备高可用 | | harbor(2....

ELK日志系统

ELK日志系统

什么是ELK? 通俗来讲,ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的 一个组合体,ELK 是 elastic 公司研发的一套完整的日志收集、分析和展示的企业级解决方案,在这三个软件当中,每个软件用于完成不同的功能,ELK 又称为 ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个: 处理方式灵活: elasticsearch 是实时全文索引,具有强大的搜索功能 配置相对简单:elasticsearch 的 API 全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单。 检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百 亿级数据的查询秒级响应。 集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展 前端操作绚丽:kibana 的前端设计比较绚丽,而且操作简单 什么是 Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供 API....

消息队列与微服务

消息队列与微服务

一、MQ(Message queuing) Message Queue 的需求由来已久,在 19 世纪 80 年代金融交易中,美国高盛等公司采用Teknekron 公司的产品,当时的 Message queuing 软件叫做(the information bus(TIB),后来TIB被电信和通讯等公司采用,然后路透社收购了Teknekron 公司,再然后IBM公司开发了MQSeries,并且微软也开发了 Microsoft Message Queue(MSMQ),但是这些商业 MQ 供应商的问题是厂商锁定及使用价格高昂, 于是 2001 年,Java Message queuing 试图解决锁定和交互性的问题,但对应用来说反而更加麻烦了,于是 2004 年,摩根大通和 iMatrix 开始着手 Advanced Message Queuing Protocol (AMQP)开放标准的开发,2006 年,AMQP 规范发布,2007 年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。 MQ 定义 消息队列的目的是为了实现各个 APP 之间的通讯,AP....

OpenVPN一键安装脚本

OpenVPN一键安装脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-26 #FileName:openvpn_install.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** . /etc/init.d/functions openvpn_install_centos(){ while :;do read -p "请输入OpenVPN服务器公网IP: " IP { echo $IP | grep -E "^(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])....

Devops之基于Jenkins的CI与CD

Devops之基于Jenkins的CI与CD

一、DevOps 简介 Gdevops:http://dbaplus.cn/ DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。 DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调 整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。 DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平台)、持续交付(Jenkins/gitlab) 1.1 什么是 DevOps 1.2 为什么要推广 DevOps DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发 程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标 而共同实现最终的目的,而 DevOps 则实现团队作战,即无论是开发、运维还是测试, 都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、 开发、测试和部署的良性循环,....

k8s之kubeadm安装

k8s之kubeadm安装

一、简介 1.1 CNCF最新景观图 https://landscape.cncf.io/ 1.2 云原生生态系统 http://dockone.io/article/3006 1.3 CNCF元原生主要架构简介 https://www.kubernetes.org.cn/5482.html 1.4 K8s核心优势 #基于yaml⽂件实现容器的自动创建、删除 #更快速实现业务的弹性横向扩容 #动态发现新扩容的容器并对⾃动⽤户提供访问 #更简单、更快速的实现业务代码升级和回滚 1.5 K8s组件介绍 官方网址:https://kubernetes.io/zh/ 1.5.1 kube-apiserver 官方介绍:https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-apiserver/ kube-apiserver:Kubernetes API server 为 api 对象验证并配置数据,包括 pods、 services、 replicationcontrollers和其它 ap....

k8s资源对象

k8s资源对象

一、K8s资源管理的核心概念 1.1 分层架构 官方文档:http://docs.kubernetes.org.cn/251.html 核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件式应用执行环境 应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等) 管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等) 接口层:kubectl命令行工具、客户端SDK以及集群联邦 生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴 Kubernetes外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等 Kubernetes内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等 1.2 API设计原理 官方文档:https://www.kubernetes.org.cn/kubernetes%....

生而为人