Prometheus+Grafana+Alertmanager监控告警系统
Prometheus简介Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。
Prometheus特点1234567891011121314151.多维度数据模型,时间序列数据由metrics名称和键值对来组成 可以对数据进行聚合,切割等操作 所有的metrics都可以设置任意的多维标签。2.灵活的查询语言(PromQL),可以对采集的metrics指标进行加法,乘法,连接等操作;3.可以直接在本地部署,不依赖其他分布式存储;4.通过基于HTTP的pull方式采集时序数据;5.可以通过中间网关pushgateway的方式把时间序列数据推送到prometheus server端;6.可通过服务发现或者静态配置来发现目标服务对象(targets)。7.有多种可视化图像界面,如Grafana等。
Promethe ...
Kolla-ansible容器化部署Openstack+Ceph
在部署openstack前必须先部署Ceph,因为在部署Openstack时需要制定Ceph中的Pool存储池,来定义存储什么东西;
Ceph搭建主机规划
主机名
IP地址
角色
磁盘规划
node1
172.16.1.14
deploy,mon,mds,mgr,osd
sda7-18(journal)1220G,sdb-sdm(osd)128T
node2
172.16.1.15
osd
sda7-18(journal)1220G,sdb-sdm(osd)128T
node3
172.16.1.16
osd
sda7-18(journal)1220G,sdb-sdm(osd)128T
配置Yum源1234567891011# ps:所有主机执行cd /etc/yum.repos.dmkdir bakmv CentOS-* bakcp bak/CentOS-Base.repo ./sed -i 's/#baseurl=/baseurl=/g' CentOS*.reposed -i 's/mirrorlist=/#mirrorlis ...
Kubeadm部署单Master-K8S集群
主机划分
Hostname
IP
角色
k8s-node1
172.16.1.14
Master
k8s-node2
172.16.1.15
Master
k8s-node3
172.16.1.16
Master
修改主机名node1
123[root@k8s-node1 ~]# echo "k8s-node1" > /etc/hostname[root@k8s-node1 ~]# hostname k8s-node1[root@k8s-node1 ~]# bash
node2
123[root@k8s-node2 ~]# echo "k8s-node2" > /etc/hostname[root@k8s-node2 ~]# hostname k8s-node2[root@k8s-node2 ~]# bash
node3
123[root@k8s-node3 ~]# echo "k8s-node3" > /etc/hostname[root@k8s-node3 ~]# hostname ...
Shell程序——部署Zabbix-ServerV5.0
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146#!/bin/bash########################################## ShVersion:V1.0# Zabbix_Version::5.0# ZuoZhe:Zux#########################################function main() ...
Shell程序——部署Harbor
123456789101112131415161718192021222324252627282930313233343536373839404142434445#!/bin/bashfunction main() { TAR_HARBOR}function TAR_HARBOR() { tar zxf harbor-v1.6.2.tgz -C /usr/local/ if [ $? == 0 ];then INSTALL_HARBOR fi}function INSTALL_HARBOR() { read -p '本机IP:' HostIP yum -y install yum-utils device-mapper-persistent-data lvm2 >& /dev/null mv /usr/local/harbor ...
Shell程序——Mysql备份
12345678910111213141516171819202122232425262728293031323334353637#!/bin/bashBAK_HOME=/data2/backup/soc-oper-dbARCHIVE_DIR=$BAK_HOME/archivesif [ ! -d $ARCHIVE_DIR ];then mkdir -p $ARCHIVE_DIR;fiDB_USER=xxxxxDB_PASS=xxxxxxxBACK_CMD=/bin/mariabackupif [ ! -d $BAK_HOME ];then mkdir -p $BAK_HOME;fiLOG_FILE="$BAK_HOME/logs/db_backup.log.`date +%F`"TARGET_DIR=$BAK_HOME/"`date +%F`&q ...
Shell程序——批量保存Docker_image
12345678910111213141516171819202122232425262728293031LIST=""TXT=/root/tmp.txtBAKDIR=/k8simagesLOGDIR=/var/log/save_images/logLOGFILE=$LOGDIR/bak.$(date +%Y%m%d).log if [ ! -d $BAKDIR ];then mkdir $BAKDIR;fiif [ ! -d $LOGDIR ];then mkdir $LOGDIR;fi if [ ! -n "$LIST" ]then REC=$(docker images | grep -v TAG | awk '{print $1,$2}' > $TXT) NAME=$(cat $TXT | awk ' ...
Shell程序——全段IP扫描
1234567891011121314151617181920212223242526272829#!/bin/bashif [[ $1 == '' ]];then printf "用法:\n" printf " sh test.sh {24位IP段}\n"else IP=$1 echo ${IP} > .ip cmd=$(cat .ip | awk -F '.' '{$NF="";print $0}') echo ${cmd} > .ip && sed -i "s/ /./g" .ip IPD=$(cat .ip) START=$(date +%d%M%S) printf & ...
Kubernetes进入pod提示pod does not exist
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051# 此nginx pod是存在的[root@pool1 ~]# kubectl get pod NAME READY STATUS RESTARTS AGEclient-pod1 1/1 Running 0 15mnginx 1/1 Running 0 43m# 尝试进入pod[root@pool1 ~]# kubectl exec -it nginx -- basherror: unable to upgrade connection: pod does not exist# 查看pod所在节点[root@pool1 ~]# kubectl get pod nginx -o wideNAME READY STATUS RESTARTS AGE IP ...
替换cni组件 卸载Flannel安装Calico
在工作中,由于不同的需求,需要更换CNI插件;
此场景为,卸载flannel网络,更换为calico网络;
建议:在生产场景中,建议提前规划好k8s的网络,如果中途更换网络插件,产生的影响会比较大;
卸载Flannel1kubectl delete -f kube-flannel.yml
清理Flannel遗留配置1234567ifconfig cni0 downip link delete cni0ifconfig flannel.1 downip link delete flannel.1rm -rf /var/lib/cni/rm -f /etc/cni/net.d/*注:执行完上面的操作,重启kubelet
部署Calico1kubectl delete -f kube-Calico.yml
