k8+容器热备-程序员宅基地

技术标签: Linux个人学习笔记  

安装docker
准备nginx(nginx:v3)和keepalived镜像(osixia/keepalived)
生成热备配置文件(docker-compose.yml Dockerfile nxinx.conf keepalived.conf check_nginx.conf)
  • docker-compose.yml
version: '2'

services:
  keepalived:
    build: ./
    image: keepalived:v1 #构建出来的新镜像的名称
    depends_on:
      - nginx
    container_name: keepalived #容器名称
    network_mode: "host"
    cap_drop:
      - NET_ADMIN
    privileged: true
    volumes:
      - "/root/test/nginx_check.sh:/etc/keepalived/nginx_check.sh"
    restart: always
  nginx:
    image: nginx:v3
    privileged: true  #root权限
    container_name: nginx #容器名称
    ports:
      - "8443:80" #本机:容器
    volumes:
      - "/root/test/nginx.conf:/usr/local/nginx/conf/nginx.conf"
    restart: always
  • Dockerfile
FROM osixia/keepalived
ADD ./nginx_check.sh /etc/keepalived/nginx_check.sh
RUN chmod +x /etc/keepalived/nginx_check.sh
ADD ./keepalived.conf /container/service/keepalived/assets/keepalived.conf
  • nginx.conf
#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}

tcp {
    upstream health {
         server 192.168.214.101:6443;
         server 192.168.214.102:6443;
         server 192.168.214.103:6443;
         check interval=3000 rise=2 fall=1  timeout=1000; 
         }
        server {
            listen 80;
            proxy_pass health;
            so_keepalive on;  #心跳检测
            tcp_nodelay on;  #禁用了Nagle算法,允许小包的发送
        }
}

  • keepalived.conf
! Configuration File for keepalived
global_defs {
   script_user root
   enable_script_security
   router_id LVS_k8s
}

vrrp_script CheckK8sMaster {
    script "/etc/keepalived/nginx_check.sh"
    interval 3
    timeout 9
    fall 2
    rise 2
}

vrrp_instance VI_1 {
    state BACKUP
    nopreempt
    interface ens33
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass agree123
    }
    virtual_ipaddress {
        192.168.214.100
    }   
    track_script {
        CheckK8sMaster
    }
}

  • check_nginx.sh
#!/bin/bash
A=`netstat -ntlp | grep :8443 | wc -l`
if [ $A -eq 0 ];then
        pkill keepalived
fi
安装docker-compose
docker-compose安装keepalived和nginx
docker-compose up
#docker-compose up --build #如果修改文件,重新构建
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42747099/article/details/88941539

智能推荐

计算机基础知识测试作业,测试题计算机基础知识[].doc-程序员宅基地

文章浏览阅读411次。测试题计算机基础知识[]测试题一 计算机基础知识计算机科学的奠基人是 。A)查尔斯·巴贝奇 B)阿兰·图灵C)阿塔诺索夫 D)冯·诺依曼在下列关于图灵机的说法中,错误的是 。A)图灵机是由图灵提出理想机器B)图灵机不可以计算的问题现代计算机也不能计算C)图灵机是晶体管计算机D)只有..._当前要执行的程序放在 中 a 硬盘存储器 b ram c u盘存储器 d 以上都可以

【Pandas数据处理100例】(七):Pandas修改DataFrame的行索引名index_python dataframe更换第一行的索引名称-程序员宅基地

文章浏览阅读660次。大家好,我是阿光。本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。正在更新中~ 。_python dataframe更换第一行的索引名称

jquery级试题_jQuery经典面试题及答案精选-程序员宅基地

文章浏览阅读318次。jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术。本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学。问题:jQuery的美元符号$有什么作用?回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:$(document).ready(fu...

探索未来云原生 debugging 工具:InCloud-程序员宅基地

文章浏览阅读263次,点赞5次,收藏10次。探索未来云原生 debugging 工具:InCloud项目地址:https://gitcode.com/inbug-team/InCloud项目简介InCloud 是由 InBug Team 开发的一款创新的云原生调试工具。它旨在解决现代分布式系统中复杂的问题,尤其是针对 Kubernetes 环境下的服务定位与故障排查问题。通过提供可视化、动态追踪和实时数据分析的能力,InCloud ...

Vue3通透教程【十八】TS为组件的props标注类型_defineprops ts-程序员宅基地

文章浏览阅读4.1w次,点赞79次,收藏50次。通过TS语法来编写组件的props方法_defineprops ts

Gralloc 总结-程序员宅基地

文章浏览阅读3.9k次。从字面就可以看出来Gralloc接口是为了显示内存分配与释放 – Graphics Allocation。它的主要目的有三个:Ø 为应用分配显示用内存;Ø 可以把显示内存在不同进程间进行映射;Ø 同步通过加载gralloc抽象层(gralloc.xxx.so),可以打开fb设备(/dev/fb0)和gpu设备(/dev/graphic/),fb设备用于操作fram_gralloc

随便推点

子网划分工具的设计与实现-程序员宅基地

文章浏览阅读1.6k次,点赞8次,收藏33次。子网划分工具的设计与实现(Python版)_子网划分工具

实战 HTTP 处理程序(HTTP Handler) (6)---条码随意打 _c# repotview打条码-程序员宅基地

文章浏览阅读916次。实战 HTTP 处理程序(HTTP Handler) (6)---条码随意打 摘要本文介绍一个免费的、完整的、very easy 的在Web页和RDLC报表中呈现、打印条码的解决方案。效果笔者最近遇到了一个B/S结构的项目,需要在报表中打印条码。效果如下恰巧,笔者不久前在网上找到了一个免费的条码控件,请见下图这是由昆明科本软件有限公司推出的一款十分不错的条码控件,支持十余种国际通用的条码格式,_c# repotview打条码

红外图像盲元检测matlab,一种红外图像盲元检测方法与流程-程序员宅基地

文章浏览阅读1.6k次。本发明属于红外热成像技术领域,尤其涉及到一种红外图像盲元检测方法。背景技术:红外成像技术中,因焦平面探测器的工艺问题,一直存在盲元的问题,例如探测器单元过亮、过暗、闪烁、无效等状态。为了形成良好的成像效果,需要对成像中的盲元进行检测并进行替换。然而,传统检测方法多数是利用盲元的定义中的特征,对不同温度的均匀场景成像的像元进行判断,这种方法对比单帧图像的当前点与邻域像元,对过亮、过暗或者完全失效的像..._盲元检测

迁移学习基础知识 源域 多任务学习 目标域_源域和目标域是什么意思-程序员宅基地

文章浏览阅读1.9w次,点赞55次,收藏56次。迁移学习 简单的将就是举一反三,是将已经学习到的知识迁移到另一种未知的知识的学习,即从源域迁移到目标域。小故事 从前有一个商人,在帝都以卖猫的玩偶为生,他叫CNN,很厉害,是一个分辨高手,擅长区分不同的猫咪,如果有人拿猫咪想要坑他,基本是不可能的。名贵的猫咪的玩偶也就卖的贵一些。突然有一天,他不想卖猫了,想要卖狗狗和老虎的玩偶(只是比喻啦~保护小动物人人有责,违法乱纪的事坚决不能干)。 本以为_源域和目标域是什么意思

【转】【软件工程】看我火眼金睛——系统流程图、程序流程图、数据流图、活动图、状态图、顺序图辨析-程序员宅基地

文章浏览阅读155次。原创链接:(48条消息) 【软件工程】看我火眼金睛——系统流程图、程序流程图、数据流图、活动图、状态图、顺序图辨析_想牵羊回家-程序员宅基地https://blog.csdn.net/srk950606/article/details/49637147别怪我懒,我觉得原创的最好!..._系统流程图、程序流程图、数据流图、活动图、状态图、顺序图辨析

Pytorch学习:torchvison.transforms常用包(ToTensor、Resize、Compose和RandomCrop)_totensor在哪个包里面-程序员宅基地

文章浏览阅读543次。给定平均值: (mean[1],…,mean[n]) 和标准值: (std[1],…,std[n]) 对于 n 通道,该变换将归一化输入 torch.*Tensor 的每个通道,即, output[channel] = (input[channel] - mean[channel]) / std[channel]如果图像是torch tensor,则预计具有[…,H,W]形状,其中…表示任意数量的前导维度,但如果使用非恒定填充,则预计输入最多具有2个前导维度。,H,W]形状,其中…表示任意数量的前导维度。_totensor在哪个包里面

推荐文章

热门文章

相关标签