Docker 模拟 kubernetes 的 pod

1.安装Docker 环境

1.安装 epel 源

yum install -y epel-release

它是为了给我们的bridge utils 提供我们对应的 源支持

2.安装 bridge-utils

yum install -y bridge-utils

3.加载 br_netfilter 模块

modprobe br_netfilter
echo 'br_netfilter' >> /etc/modules-load.d/bridge.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1'>> /etc/sysctl.conf
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

含义是所有经过网球的流量 必须要被防火墙所处理

并且把这个模块 添加到我们的开机自启的文件中 再在我们的内核配置文件中添加三个选项

  1. 在ipv4下所有网桥的流量 都必须要被防火墙所回掉
  2. ipv6下的回掉
  3. 以及开启路由转发

sysctl -p 刷新生效

4.安装 yum 必要的包管理工具

yum -y install yum-utils device-mapper-persistent-data lvm2

5.配置docker 镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6.安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

7.配置 daemon

sudo cat <<EOF > /etc/docker/daemon.json
{
    "default-ipc-mode": "shareable",
    "data-root": "/data/docker",
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m",
        "max-file": "100"
    },
    "insecure-registries": ["harbor.xinxainghf.com"],
    "registry-mirrors": ["https://kfp63jaj.mirror.aliyuncs.com"]
}
EOF

简单介绍一下  

第一个选项 :指定当前的IPC的模式是允许共享的 在 1903以后 IPC的默认共享状态被关闭了 所以我们要特殊设置一下

第二个选项 :就是指定当前的docker 的根目录在哪里

第三个选项 :指定当前的一些启动的额外参数 比如 指定cgroup驱动程序为systemd 官方建议指定为systemd

第四个选项 :指定当前的日志驱动为 json-file 保存json格式

第五个选项 :以及单文件的最大大小 以及保存最大文件数量

第六个选项 :指定当前信任的仓库地址

第七个选项 :以及当前的镜像官方仓库的地址

8.创建docker 的service 管理目录

mkdir -p /etc/systemd/system/docker.service.d

9.重启docker服务

systemctl daemon-reload
systemctl restart docker
systemctl enable --now docker

2.基于 Docker 模拟pod-1

1.编写Nginx 配置文件

cat <<EOF>> ./nginx.conf
error_log stderr;
events { worker_connections 1024;}
http {
  access_log /dev/stdout combined;
  server {
    listen 80 default_server;
    server_name example.com www.example.com;
    location / { 
      proxy_pass http://127.0.0.1:2368;
    }
  }
}
EOF

2.启动 k8s.gcr.io/pause:3.1 容器

docker run --name pause -p 8080:80 -d k8s.gcr.io/pause:3.1
docker run --name nginx -v `pwd`/nginx.conf:/etc/nginx/nginx.conf --net=container:pause --ipc=container:pause --pid=container:pause -d nginx 

跟容器 pause 共享 网络 ipc pid 

docker run -d --name ghost --net=container:pause --ipc=container:pause --pid=container:pause ghost:4.48.2

ghost php 编写的 一个 个人博客系统

完美运行

共享 net ipc pid 形成的 就是 pod的 基本结构

pause相当于nginx和ghost的监控,当nginx或者ghost挂了,可以重新创建一个新pod代替老pod

pause 可以在程序死亡的时候重启 进程 但是 nginx不可以 

pause 可以回收僵尸进程 nginx 不可以 

这就是 pause 的优势 也就是为什么 要用独立的pause去给别的容器共享

同一个pod当中容器必须相互通信,这是k8s规定的

只要符合这样的逻辑都叫做 pod 这是 一个 概念 不是k8s 专属的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/981263.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hugging Face 推出 FastRTC:实时语音视频应用开发变得得心应手

估值超过 40 亿美元的 AI 初创公司 Hugging Face 推出了 FastRTC&#xff0c;这是一个开源 Python 库&#xff0c;旨在消除开发者在构建实时音频和视频 AI 应用时的主要障碍。 "在 Python 中正确构建实时 WebRTC 和 Websocket 应用一直都很困难&#xff0c;"FastRTC…

Spark核心之02:RDD、算子分类、常用算子

spark内存计算框架 一、目标 深入理解RDD弹性分布式数据集底层原理掌握RDD弹性分布式数据集的常用算子操作 二、要点 ⭐️1. RDD是什么 RDD&#xff08;Resilient Distributed Dataset&#xff09;叫做**弹性分布式数据集&#xff0c;是Spark中最基本的数据抽象&#xff0c…

Redis中常见的延迟问题

使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值&#xff0c;只有超过阈值的命令才会被记录&#xff0c;这里的单位是微妙&#xff0c;例如设置慢日志的阈值为5毫秒&#xff0c;同时设置只保留最近1000条慢日志记录&#xff1a; # 命令执行超过…

LangGraph实战:构建智能文本分析流水线

LangGraph实战:构建智能文本分析流水线 1. 智能文本分析 LangGraph是基于图结构的工作流开发框架,通过节点函数和条件流转实现复杂业务逻辑。四大核心能力: 1.1 状态容器 统一管理流程执行上下文,支持JSON序列化存储 1.2 智能路由 基于条件判断实现动态分支跳转 1.3 可…

【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

MyBatis - 单元测试 参数传递 注解 CRUD

目录 1. MyBatis 简介 2. 简单使用 MyBatis 2.1 创建 MyBatis 项目 2.2 连接数据库 2.3 创建 Java 类 2.4 创建 Mapper 接口 2.5 在测试类中执行 3. 单元测试 3.1 Test 3.2 SpringBootTest 3.3 BeforeEach / AfterEach 4. MyBatis 基础操作 4.1 配置 MyBatis 打印日…

课程2. 机器学习方法论

课程2. 机器学习方法论 训练算法并评估其质量将样本分成训练和测试。分层 交叉验证方法sklearn 接口算法模型训练模型的应用质量评估 数据预处理标准缩放Violinplot 数据集使用模型Pipeline 在上一讲中&#xff0c;我们讨论了机器学习专家面临的挑战。无论解决的问题类型和解决…

CentOS 7使用RPM安装MySQL

MySQL是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;允许用户高效地存储、管理和检索数据。它被广泛用于各种应用&#xff0c;从小型的web应用到大型企业解决方案。 MySQL提供了丰富的功能&#xff0c;包括支持多个存储引擎、事务能力、数据完整…

涂层,如同一道守护之光,有效遏制了QD(量子点)那如星辰般忽明忽暗的闪烁与如垂暮手电筒般黯淡无光的褪色现象。

涂层&#xff0c;如同一道守护之光&#xff0c;有效遏制了QD&#xff08;量子点&#xff09;那如星辰般忽明忽暗的闪烁与如垂暮手电筒般黯淡无光的褪色现象。俄克拉荷马大学&#xff08;University of Oklahoma&#xff09;的一项卓越研究&#xff0c;犹如破晓之光&#xff0c;…

C++第六节:stack和queue

本节目标&#xff1a; stack的介绍与使用queue的介绍与使用priority_queue的介绍与使用容器适配器模拟实现与结语 1 stack&#xff08;堆&#xff09;的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;只能从容器的一端进行元素的插…

五分钟快速学习优秀网站的HTML骨架布局设计

一.编写多级过滤脚本&#xff0c;在控制台执行copy方法进行提取&#xff1a; 过滤脚本脚本 // 在浏览器F12的控制台里&#xff0c;直接执行以下脚本 copy(document.documentElement.outerHTML// 一级过滤&#xff1a;移除动态内容.replace(/<script\b[^>]*>[\s\S]*?…

硬件学习笔记--47 LDO相关基础知识介绍

目录 1.LDO主要功能介绍 2.LDO相关参数介绍 3.使用方法 4.优、缺点 1.LDO主要功能介绍 LDO&#xff08;Low Dropout Regulator&#xff09;是一种线性稳压器&#xff0c;用于将输入电压转换为稳定的输出电压。其主要功能包括&#xff1a; 1&#xff09;稳压功能&#xff1…

利用矩阵相乘手动实现卷积操作

卷积&#xff08;Convolution&#xff09; 是信号处理和图像处理中的一种重要操作&#xff0c;广泛应用于深度学习&#xff08;尤其是卷积神经网络&#xff0c;CNN&#xff09;中。它的核心思想是通过一个卷积核&#xff08;Kernel&#xff09; 或 滤波器&#xff08;Filter&am…

STM32-HAL库初始化时钟

使能和失能外设GPIOA 时钟信号初始化函数 HAL_RCC_OscConfig函数&#xff1a; HAL_StatusTypeDef是该函数的返回值类型,最顶上的那句话只是这个函数的原型 HAL_RCC_ClockConfig函数&#xff1a; 因为FLASH实际上只能支持24MHz的时钟信号所以如果用高于24MHz的信号输入则要用到等…

windows环境执行composer install出错

现在的项目环境都是要求比较新的版本&#xff0c;就比如今天部署测试一个新框架遇到了下面这些问题&#xff0c;报错原因有以下几点&#xff1a; PHP版本低了&#xff0c;现在的新项目都是要求PHP8以上版本&#xff1b;指令废弃&#xff0c;配置文件禁用即可&#xff1b;切换P…

Three.js 入门(光线投射实现3d场景交互事件)

本篇主要学习内容 : 光线投射器交互事件 点赞 关注 收藏 学会了 1.光线投射器 Raycaster 此类旨在协助光线投射。光线投射用于鼠标拾取&#xff08;确定鼠标在 3D 空间中的哪些对象上&#xff09;等。 Raycaster( origin : Vector3, direction : Vector3, near : Float,…

蓝桥杯web第三天

展开扇子题目&#xff0c; #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子&#xff0c;子元素旋转 webkit display: -webkit-box&#xff1a;将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical&#xff1a;设置伸缩盒子的子元素排列方…

Unity 使用NGUI制作无限滑动列表

原理&#xff1a; 复用几个子物体&#xff0c;通过子物体的循环移动实现&#xff0c;如下图 在第一个子物体滑动到超出一定数值时&#xff0c;使其放到最下方 --------------------------------------------------------------》 然后不停的循环往复&#xff0c;向下滑动也是这…

网络安全蜜罐产品研究现状

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、知识点总结 1、蜜罐&#xff08;Honeypot&#xff09;&#xff1a;诱捕攻击者的一个陷阱。 2、蜜网&#xff08;Honeynet&#xff09;&#xff1a;采用了技术…

SpringBoot3—场景整合:环境准备

一、云服务器 阿里云服务器开通安装以下组件 dockerrediskafkaprometheusgrafana 下载windterm&#xff1a;https://github.com/kingToolbox/WindTerm/releases/download/2.5.0/WindTerm_2.5.0_Windows_Portable_x86_64.zip 重要&#xff1a;开通云服务器以后&#xff0c;请一…