首页 > 其他分享 >K8s和docker的关系

K8s和docker的关系

时间:2024-08-05 16:39:08浏览次数:17  
标签:关系 容器 k8s nginx yum 镜像 docker K8s

k8s(kubernetes)是一个容器编排器,没容器的话也没编排。所以他是一个容器编排的系统,主要围绕pods进行工作。pods是k8s生态中最小的调度单位,可以包容一个或者多个容器。

k8s是一个docker容器的管理工具

核心功能:
自愈:重启启动失败的容器,在节点不可用时,替换节点上的容器,对用户定义的不健康的容器会被终
,并且在容器准备好服务之前不会向其他客户端传播。
弹性伸缩:监控容器cpu的负载值。如果容器的平均值高于80%,增加容器的数量,如果平均值低于10%,减
少容器的数量。
服务的自动发现和负载:不需要自己修改应用程序,k8s自己提供了ip地址和容器的dns名称,并可以在他
们之间进行负载均衡。
滚动升级和一键回滚:k8s部署应用程序和修改配置,同时监控程序状态。如果出现问题,k8s会恢复更改
k8s常用资源
创建pod资源:
pod资源是k8s里面最小的资源,构建pod资源得至少需要两个容器组成。pod基础容器和业容器。
pod 资源类型
metadata 属性
spec 详细
ReplicationController 也叫rc资源,保证指定数量的pod始终存活,rc通过标签选择器来关联pod。

docker(码头工人)是一个用于构架、分发、运行容器的平台和工具。
让开发着打包自己的应用和依赖包放到容器中,然后发布到linux机器上,实现虚拟化。容器之间完全不会存在任何接口。几乎没有性能开销,可以很容易在机器
上运行。最重要他不以来任何语言,系统,或者框架。

build:构建,就是镜像构建
ship:运输,运输镜像 从仓库和主机运输
run:运行镜像就是一个容器
build、ship、run和镜像 运输 容器是一 一对应的

镜像如何传输呢?
这就用到了docker仓库,首先我们先要把镜像传到我们的docker仓库中,再由目的地址把docker仓库拉去,这就完成了一次传输过程。

LXC是什么?
LXC是linux container的缩写,linux cotainer容器是一种内核虚拟化技术,它可以提供轻量级虚拟化,以便隔离进程和资源,而且不需要提供指令机制和虚拟化复杂性。

docke相比于VM的优点:
1.docker支持unix/linux操作系统,同时也支持window和mac(苹果)。
2.开发者不需要关注是哪个linux系统。
3.比VM小、快 docker启动一个容器只需要几秒钟
4.docker是一个开放的平台,构建、发布、运行的应用程序。
局限性:docker只用于计算,存储交给别人。(NFS,ipsan)

docker工作流:
1.启动docker
2.下载镜像到本地
3.启动docker容器实例
提示:大家可以去注册一个dockerhub,之后会详细给大家讲解它的作用(非常重要!连docker hub账号都没有,玩什么docker!)。

docker核心技术:
1.Namespace--->实现了container的进程,网络,消息,文件系统和主机名的隔离。
2.Cgroup实现了对资源的配合和调度。 cgroup的配额,可以指定实例使用cpu个数,内存大小。
docker的特性:
1.文件系统的隔离:每个容器在完全独立的根文件系统里
2.资源隔离:系统资源,像cpu和内存等分配到不同的容器中。cgroup
3.网络隔离:每个容器有自己的虚拟接口和ip地址。
4.日志记录:docker记录每个容器的标准流,用于检索。
5.变更管理:容器文件系统的变更可以提交到新的镜像中,并可以重复使用,无需使用模板和手动配置。
6.交互式shell:docker可以分配一个虚拟终端并且关联到任何容器的标准输出上。

docker的安装方式:
1.yum -y install docker
2.yum -y install docker -engine
3.yum -y install docker -ce
docker最早的版本名叫docker和docker-engine 现在叫docker -ce和docker -ee
安装docker依赖环境 yum install -y yum -untils device -mapper -persistent -data lvm2en
配置docker -ce的yum源 yum -config -manager
安装docker yum -y install docker -ce docker -ce -cli containerd.io
开启网络转发功能:默认自动开启
关闭防火墙:iptable -NL 查看一下iptable的规则,关闭防火墙后会自动插入新规则
systemctl stop firewalld && system disable firewalld #关闭防火墙
重启docker sysctlrem restart docker #关闭防火墙后腰重新启动docker。否则ip转发包的功能无法使用。即便防火墙关闭了,docker依旧会调用内核增加规则,所以会增加iptables规则
iptables -NL #再查看一下iptable会发现很多规则。
启动服务 systemctl start docker && systemctl enable docker 启动完成后

标签:关系,容器,k8s,nginx,yum,镜像,docker,K8s
From: https://www.cnblogs.com/jisuanji1321/p/18342880

相关文章

  • centos下使用阿里云镜像安装docker
    环境:OS:Centos7步骤1:[[email protected]]#yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2Loadedplugins:fastestmirror,langpacksLoadingmirrorspeedsfromcachedhostfileCouldnotretrievemirrorlisthttp://mirrorlist.centos.org/?......
  • 设计模式中的类关系
    1.依赖(Dependency)定义:一个类使用到另一个类的实例,通常是通过方法参数、局部变量等。依赖关系是最弱的关系,因为它仅仅表示类之间的临时关联。特征:在UML图中,依赖关系用带箭头的虚线表示,箭头指向被依赖的类。示例:publicclassDriver{  publicvoiddrive(Carcar){......
  • 查找分层股东关系:在 python 中重构嵌套 if
    我想找到公司之间的股东关系。在下面的示例中,“人员1”直接拥有“公司1”50%的股份,那么需要检查“公司1”是否也拥有其他公司的股份。“公司1”拥有“公司2”50%的股份,“公司3”拥有20%的股份。这意味着“人员1”间接拥有“公司2”和“公司3”的部分股份。此......
  • docker使用
    创建并运行容器:FROMpython:3.10-slimWORKDIR/appCOPY..RUNpipinstallnumpyCMD["python","a.py"]首先创建一个Dockerfile然后FROM指定基础镜像,WORKDIR指定之后所有docker命令工作路径,COPY把文件从一个本地路径拷贝到镜像路径(这里就是把当前目录的所有内容拷贝到镜......
  • Docker 网络
    Docker网络是Docker容器化平台的重要组成部分,它允许容器之间以及容器与外部网络进行通信。Docker提供了多种网络驱动和配置选项,以满足不同的网络需求。本文将详细介绍Docker网络的相关知识,并提供示例帮助理解。1.Docker网络基础1.1网络驱动Docker支持多种网络......
  • CSS学习:继承、权重关系、伪类选择器、媒体查询
    1、具有继承性质的样式(可以被子元素继承)color文字颜色 ;font-family字体族;font-size字体大小; font-weight字体粗细;line-height行高;text-align文本对齐方式;visibility可见性;cursor鼠标指针样式。2、不具有继承性质的样式(不能被子元素继承)background-color背景颜色;border......
  • kubeadm安装k8s
    目录1.环境准备2.所有节点安装docker3.所有节点安装kubeadm4.Nginx负载均衡部署5.部署K8S集群6.所有节点部署网络插件flannel1.环境准备(1)在所有节点上安装Docker和kubeadm(2)部署KubernetesMaster(3)部署容器网络插件(4)部署KubernetesNode,将节点加入Kubernetes集群中(5)部署Das......
  • wsl docker里运行ollama并使用nvidia gpu的一些记录
     1、安装wsl2具体过程网上一搜一把,这里就先略过了,只有wsl2能用哈2、wsl里装docker,及相关配置装dockerwget https://download.docker.com/linux/static/stable/aarch64/docker-23.0.6.tgzcd/mydata/tmp/tar -zxvf docker-23.0.6.tgzmvdocker/*/usr/bin/mvdock......
  • Docker网络管理
    一、Docker网络实现原理Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器......
  • Docker数据管理
    一、容器的数据管理介绍1.Docker容器的分层容器的数据分层目录LowerDir:image镜像层,即镜像本身,只读UpperDir:容器的上层,可读写,容器变化的数据存放在此处MergedDir:容器的文件系统,使用UnionFS(联合文件系统)将lowerdir和upperdir合并完成后给容器使用,最终呈......