Nagios监控部署
监控端(服务端):ubuntu16.04.7 192.168.17.213 nagios-4.4.5 nagios-plugins-release-2.2.1 nrpe-2.15
被监控端(客户端):centos7.6 192.168.16.69 nrpe-2.15
服务端部署1.安装依赖
1apt-get install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.0 libgd2-xpm-dev
2.下载安装包
12cd /tmpwget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.5.tar.gz
3.解压安装包
12tar xzf nagioscore.tar.gzcd /tmp/nagioscore-nagios-4.4.5/
4.编译安装
12./configure --with-httpd-conf=/etc/apache2/sit ...
Docker多阶段镜像制作
Docker多阶段镜像制作
编译阶段 –> 目的编译并获取编译后的二进制可执行文件
123456FROM golang:1.20-alpine AS builder # 使用go镜像作为编译镜像WORKDIR /build # 配置工作目录COPY . . # 将源代码等文件拷贝到工作目录RUN apk add --no-cache git make tzdata \ # 安装编译需要的一些依赖包 && GOOS=$TARGETOS GOARCH=$TARGETARCH make clean build # 使用makefile编译RUN go build -o app . # 使用命令直接编译
运行环境 –> 将编译阶段的编译好的二进制可执行文件拷贝
1234567FROM alpineRUN apk add --no-cache curl grepENV TZ=Asia/ShanghaiCOPY --from=builder /build/app / # 将编译阶段的工作目录下的二进制文件拷贝到运行环境的根目录EXPOSE 10000CMD [ ...
组件高可用
rabbitmq集群1、解析
vim /etc/hosts
192.168.11.199 master192.168.11.200 slave
2、删除旧的rabbitmq数据,重新启动生成
rm -rf /opt/oatos/component/rabbitmq/mnesia/*
systemctl start rabbitmq
两台机器的.erlang.cookie保持一致
/opt/oatos/component/rabbitmq/.erlang.cookie
3、在master上操作加入集群
1234567891011121、停止服务/opt/oatos/component/rabbitmq/sbin/rabbitmqctl stop_app2、重置状态/opt/oatos/component/rabbitmq/sbin/rabbitmqctl reset3、加入集群/opt/oatos/component/rabbitmq/sbin/rabbit ...
ELK部署
ELK部署
Elasticsearch 7.14.1
172.16.10.60
Kibana
172.16.10.20
Logstash
172.16.10.10
Filebeat
172.16.10.60
Nginx
172.16.10.60
1、Elasticsearch部署121、下载elasticsearch rpm包wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-x86_64.rpm
12345678910111213142、编辑elasticsearch.yml配置文件创建elasticsearch数据存放目录,并授权mkdir /data/elasticsearch -pchown -R elasticsearch.elasticsearch /data/elasticsearchvim /etc/elasticsearch.ymlcluster.name: wgj-applicationnode.name: node-wgj-1pat ...
Loki日志收集
Loki日志收集1、Loki部署
二进制文件下载解压
1234wget https://github.com/grafana/loki/releases/download/v2.8.4/loki-linux-amd64.zipunzip loki-linux-amd64.zipmkdir -p /usr/local/loki/{etc,logs,bin}mv loki-linux-amd64 /usr/local/loki/bin/loki
loki配置文件
123456789101112131415161718192021222324252627282930vim /usr/local/loki/etc/local-config.yamlauth_enabled: falseserver: http_listen_port: 3100common: path_prefix: /loki storage: filesystem: chunks_directory: /loki/chunks rules_directory: / ...
Dragonfly镜像分发加速
Dragonfly镜像分发加速1、服务端部署
12docker run -d --name supernode --restart=always -p 8001:8001 -p 8002:8002 \dragonflyoss/supernode:1.0.6
2、客户端部署
123vim /etc/dragonfly/dfget.ymlnodes: - server_ip
123docker run -d --name dfclient --restart=always -p 65001:65001 \ -v /etc/dragonfly:/etc/dragonfly \ dragonflyoss/dfclient:v1.0.6 --registry https://index.docker.io
3、修改客户端docker的镜像拉取地址
12345vim /etc/docker/daemon.json{ "registry-mirrors": ["http://127.0.0.1:65001"]}sy ...
traefik-ingress-controller
trafik-ingress-controllerTraefik部署篇1、helm安装traefik12345678# 添加traefik的chart源helm repo add traefik https://traefik.github.io/charts# 更新源helm repo update# 拉取traefik的chart文件helm fetch traefik traefik/traefik# 解压tar xf traefik-25.0.0.tgz
2、自定义value值部署traefik本地部署的kubernetes集群没有云厂商的loadBalancer,需要借助于k8s集群节点的端口去映射traefik的web端口
使用k8s节点的主机网络
1hostNetwork: true
端口部分修改(基于hostNetwork: true的情况修改)
123456789101112131415161718192021222324252627282930ports: traefik: # dashboard的端口暴露 port: 9000 ...
traefik使用
traefik使用一、灰度发布(加权轮询)1、创建两个Pod,appv1,appv2,基于nginx,修改index.html文件(省略)
2、创建一个TraefikService资源,使用weighted实现加权轮询wrr
123456789101112131415apiVersion: traefik.io/v1alpha1kind: TraefikServicemetadata: name: app-wrrspec: weighted: services: - name: appv1 weight: 3 port: 80 kind: Service - name: appv2 weight: 1 port: 80 kind: Service
3、创建一个IngressRoute去应用TraefikService定义的策略
12345678910111213apiVersion: traefik.io/v1alpha1kind: IngressRoutemetadat ...

