docker快速入门6-资源限制及验证默认情况下容器中运行的程序可以尽可能吃掉宿主机的CPU、Memory以及IO资源。CPU资源是可压缩性资源,Memory是非压缩性资源。是否可压缩性表现为当该资源被占用完时,再有其他程序向内核索要时,压缩性资源就会让其等待直到有资源分配后分配给它;非压缩性资源则会直接抛异常。在Linux主机上,假如内核探测到没有足够的内存资源来运行重要的系统函数时,就会抛出一
docker快速入门6-dockerfile和registrydockerfile是构造Dockerimages的一行行命令的集合,是一个纯文本文件。语法格式#注释信息INSTRUCTION指令,指令不区分大小写,但约定使用大写非注释行的第一行必须是FROM指令工作目录使用Dockerfile制作镜像时需要一个干净的工作目录,该目录结构如下:Dockerfile文件可选的.dockerignore
docker快速入门5-存储卷Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,即写时复制(COW)机制。卷为docker提供了独立于容器的数据管理机制:可以把镜像想像成静态文件,例如程
docker快速入门4-docer网络安装好docker引擎的主机上会多出一个虚拟的网络设备docker0,其IP地址为172.17.0.1,可以把它看作是一个虚拟的交换机(网桥),当创建一个容器时(默认的网络方式为brigde)会同时创建一个虚拟的网络连接,一端连接在容器内,另一端则连接在docker0这个虚拟交换机上。容器内的虚拟网卡默认分配的IP为172.17.0.0/16网段内。root@
docker快速入门3-docker镜像Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器。docker镜像采用分层构建机制,最底层为bootfs,次之为rootfs。bootfs用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs由内核挂载为只读模式,而后通过联合挂载技术额外挂载一个可写层Doc
docker基本命令及容器生命周期和状态获取帮助docker--help显示命令的帮助信息dockerCOMMAND--help显示子命令COMMAND相关的帮助信息镜像操作命令dockersearch[OPTIONS]TERM从镜像仓库搜索镜像dockerimagepull[OPTIONS]NAME[:TAG|@DIGEST]从镜像仓库拉取镜像dockerimagels列出已有的镜像docker
docker快速入门1-安装及镜像加速摘要Docker容器技术是利用LXC(LinuXContainer)来实现类似VM的功能,而LXC所实现的隔离性主要是来自内核的命名空间,其中pid、net、ipc、mnt、uts、user等命名空间将容器的进程、网络、消息、文件系统、hostname和用户隔离开来。各Namespace的隔离特性与相应Linux内核的支持版本如下图,用户和用户组级别的隔离性是
kubernetes快速入门17-HelmHelm的官方地址为:https://helm.sh/Helm能帮助我们管理复杂的kubernetes应用,需要部署的应用使用Chart来进行定义和管理Helm的核心术语:Chart:一个helm程序包,包含运行一个kubernetes应用的资产清单Repository:Chart仓库,是一个https/http服务器,存放一个个的chartRelease
kubernetes快速入门16-资源指标API及自定义指标API新一代资源指标获取是使用metrics-server组件,用于取老一代的heasper,项目地址:https://github.com/kubernetes-sigs/metrics-server自定义指标使用prometheus来收集监控数据。新一代架构:核心指标流水线:由kubelet、metrics-server以及由APIS
kubernetes快速入门15-容器资源需求和限制一个容器对资源的需要有两个方面:requests,所需资源的最低保障,这是作为k8s调度器进行调度的衡量条件的指标limits,资源限制,所需资源的上限,是硬限制CPU一颗物理核心cpu在通过超线程技术会被虚拟成多颗逻辑cpu,在docker中一颗逻辑cpu等于1000millicores,那500m的cpu就行于0.5颗逻辑cpu。内存进率为1
kubernetes快速入门14-调度器、预选策略及优选函数预选与优选k8s进行节点调度的阶段:1.节点预选(Predicate),从节点中排除完全不符合要求的过程2.节点优选(Priority),使用优选函数给各个节点打分,并排序3.节点选定(Select),选择得分最高的节点,若多个节点有最高分,则随机选择最高分的节点预选策略:1.CheckNodeCondition:检查节点本身是否正常2.
kubernetes快速入门13-网络在kubernetes中容器有四种网络模型:bridge,桥接式网络,自由式网络名称空间joined,共享使用另外容器的网络空间opened,容器直接共享宿主机的网络名称空间Closed或None,不使用任何网络空间docker网络存在的问题:跨越节点间容器访问时要经过各自宿主机的网络并做SNAT和DNATl转换,发起方容器访问目标容器是访问目标容器所在宿主机
kubernetes快速入门12-dashboard更多信息请参考:https://github.com/kubernetes/dashboard安装#安装k8s@node01:~$kubectlapply-fhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yamlnamesp
kubernetes快速入门11-认证和授权认证k8s的APIServer接口是需要认证才能接入的,在使用kubeadm工具初化好master节点时,最后需要我们做sudocp-i/etc/kubernetes/admin.conf$HOME/.kube/config这个操作,admin.conf文件里存放的就是连接APIServer所需要的认证信息,所以当我们使用kubectl命令进行操作时都会
kubernetes快速入门10-StatefulSet控制器有状态副本集。使用要求:稳定且唯一的网络标识符;稳定且持久的存储;有序、平滑地部署和扩展;有序、平滑地终止和删除;有序的滚动更新StatefulSet由三个组件组成:HeadlessservicesStatefulSet控制器volumeClaimTemplate存储卷申请模板StatefulSet帮助信息,statefulset可简写
kubernetes快速入门9-存储卷volumesvolumes的出现主要解决以下两个问题:容器中数据的持久化,因容器中的文件是临时存放的,一旦容器崩溃后kubelet将重建容器,容器将以一个干净的状态被重建一个Pod中多个容器间数据共享存储大体上可以分为本地类型存储和网络连接类型存储,而网络连接型的存储又可以分为传统意义上的NAS和SAN存储,分布式类型网络连接存储和第三方云端存储在k8s中p
kubernetes快速入门8-ingress和ingress-controller更详细信息可参考:https://kubernetes.github.io/ingress-nginx/deploy/baremetal/https://kubernetes.io/zh/docs/concepts/services-networking/ingress/https://kubernetes.io/
kubernetes快速入门7-service资源因pod有生命周期,客户端的请求不应该指向pod,service就为客户端访问Pod提供一个较固定的端点。service工作依赖于一个附件叫Core-DNS,较老版本中叫Kube-DNS,此附件为service中的名称与集群ip地址提供解析服务。kubectl向apiserver提交service相关的资源对象信息,并把资源信息保存在etcd中,各
kubernetes快速入门6-pod控制器ReplicaSet副本控制器,使用kubectlexplainReplicaSet查看ReplicaSet资源的相应帮助信息,简写为kubectlexplainrs。ReplicaSet确保任何时间Pod的副本数为指定的数量。ReplicaSet资源定义格式:KIND:ReplicaSetVERSION:apps/v1#属于apps组下的v1稳定版me
kubernetes快速入门5-Pod资源详谈pod只是逻辑上的概念,可以把pod看成一个容器,容器内跑的是一个或多个容器实体(docker容器)。Pod资源spec.containers对象说明pod.spec.containers<[]Object>字段:name<string>必选字段,表明容器名称image<string>镜像地址imagePullPol
k8s资源清单及初识pod资源k8s资源对象工作负载型资源(workload):Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob,...服务发现及负载均衡资源:Service,Ingress,...配置与存储相关资源:存储卷(Volume),CSI(容器存储接口);ConfigMap,Secret,DownwardAPI集群级资
命令方式操作pod和servicepod与service手动使用命令运行一个名称为mynginx的podk8s@node01:~$sudokubectlrunmynginx--image=nginx:1.19.1-alpine--port=80--replicas=1Flag--replicashasbeendeprecated,hasnoeffectandwillberemovedinthefu
[TOC]kubeadm安装k8s集群kubeadm的实现设计请参考:https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.10.md网络规划节点网络Pod网络service网络192.168.101.0/2410.244.0.0/16(flannel网络默认)10.96.0.0/12部署流程各个master
kubernetes基础概念概述kubernetes是一个开源的容器编排系统,可实现容器化应用程序的自动部署、水平扩展和管理。kubernetes集群是master/nodes的架构,master是管理节点,一般由3个节点组成,nodes节点称为工作节点,节点要多至上千个。组件更详细的请参考官方文档:https://kubernetes.io/zh/docs/concepts/overview/c
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号