Pod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器,这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod中的所有容器是相对紧密的耦合在一起的,会被调度到同一个node节点上。本文测试数据来自源Kubernetes1.18版本。k8s的最小可调度单元如果选择容器作为k8s的最小可调度单元,那么容器的健康检测,多个
Container中的文件在磁盘上是临时存放的,这给Container中运行的较重要的应用程序带来一些问题:1,当容器崩溃时文件丢失。kubelet会重新启动容器。2,同一Pod中运行多个容器的情况下有共享文件需求。Kubernetes卷(Volume)这一抽象概念能够解决这两个问题。本文主要介绍k8s主流的集中卷,本文测试数据来自源Kubernetes1.18版本。emptyDir当Pod分派到
由于k8smaster集群中的一台master2节点有问题需要替换,故需要把master2从集群中移除,然后找一台新机器替代master2重新加入集群。本文主要介绍移除一台master后再重新加入集群的方法。从master集群移除master2节点在master1上执行如下命令#kubectldrainmaster2--delete-local-data--force--ignore-daemon
镜像导入导出dockerexport和dockerimport作用对当前的容器文件系统创建一个快照,并持久化为tar文件,tar文件中保存的是容器的文件系统和其上的数据。然后通过dockerimport命令导入tar文件到docker环境后,会发现导入成功的是一个只有一层镜像层的image,而不是恢复为一个容器。tar文件内容:#tarxftest.tar#lltotal766604-rw-r--
Harbor简介Harbor是由VMware公司中国团队为企业用户设计的Registryserver开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA、RESTfulAPI等企业必需的功能,属于CloudNativeComputingFoundation(CNCF,云原生计算基金会)的毕业项目。我们建议使用2.0以后的版本,Harbor在2.0以后的版本使Harbor成
k8s集群上会跑各种各样的系统和应用程序的pod,而为了快速发现问题和更好的做日志监控,就必须要做日志的采集和集中存储展示了。综合考虑之下,我们推荐使用EFK技术栈来实现这个目的。k8s日志采集架构选型1,每台节点采用DaemonSet部署agent:原理:每台节点采用DaemonSet部署一个采集日志的agent,从/var/log/containers/目录采集所有容器的日志,而容器中的日志需
环境准备我们使用的k8s和ceph环境见:https://blog.51cto.com/leejia/2495558https://blog.51cto.com/leejia/2499684ECK简介ElasticCloudonKubernetes,这是一款基于KubernetesOperator模式的新型编排产品,用户可使用该产品在Kubernetes上配置、管理和运行Elasticsearch
最近再测试k8s集群,目前有一些有状态服务需要持久化存储,故调研了一番决定用已经被大家广泛使用的ceph来做。故通过学习ceph知识点书+自己的使用实践写了这篇文章。ceph简介Ceph是一个可无限伸缩的开源分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性,它基于RADOS实现。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用,RedHat及OpenStack都可与Ce
问题场景我们使用suricata来做流量分析,suricata部署在一台多网卡的48核心的物理机上,由于业务需要,suricata监听流量的网卡从5块提升为了6块,新加了网卡enp176s0f1,然后发现suricata的日志中有多条类似报错:<Error>-[ERRCODE:SC_ERR_PF_RING_OPEN(34)]-Failedtoopenenp176s0f1:pfring_
ingress做为k8s集群的入口非常重要,能实现ingress功能的软件很多,可根据自身需求选择。本篇博客主要使用nginx官方提供的nginx-ingress完成了http/https7层代理和tcp四层代理的环境配置。系统环境1,k8s的版本为1.8.22,dockerce的版本为19.03.8-33,五台主机操作系统版本为centos7,kernel版本3.10.0-9574,使用五台主机
由于业务需要,近期在研究k8s,故就需要先部署一套。我通过官方文档来部署发现还是有一些坑,故整理了部署中遇到的问题做个记录。系统环境1,k8s的版本为1.18.2,dockerce的版本为19.03.8-33,服务器操作系统版本为centos7,kernel版本3.10.0-9574,使用五台主机部署,机器列表172.18.2.175master1172.18.2.180master2172.18
出现的背景kubernetes是一个容器编排开源软件,它可以轻松高效管理由千上万的主机组成的集群,并提供容器部署运行的环境。kubernetes最初由Google开发和设计,前身是Borg系统,Google有成千上万的容器运行在上面,主要帮忙Google实现简化开发和管理,并且提供基础设施的资源利用率。再内部稳定运行Borg数十年之久后,随着容器化的大流行,2014年Google开源了kubern
容器技术出现的背景服务器时代在服务器时代,应用直接跑在服务器上。业务部门想要增加一个新的应用服务,IT部门就需要采购新的服务器服务器来满足需求,而IT部门为了不让业务由于服务器瓶颈而出现问题,就会采购大幅由于业务需求的服务器。这种做法,导致了公司大量的服务器处于低负荷运行状态下,浪费了大量的资源和资产。虚拟机时代而虚拟机技术解决了如上的问题,通过虚拟机技术,实现了一个服务器安全稳定运行多个应用。虚
背景收到nginx的超时报警和服务所在机器的load报警,通过分析问题时间段的系统cpu,内存,网络io,磁盘io使用情况,发现是磁盘io达到瓶颈导致。通过iostat看磁盘的await(平均每次设备I/O操作的等待时间)时间达几百毫秒且util(一秒中有百分之多少的时间用于I/O操作,即被io消耗的cpu百分比)持续100%分析定位问题服务1,通过使用iotop来看系统上使用io最多的进程,发现
Docker在Linux上支持很多存储驱动,每种驱动都有自己的镜像分层、镜像层共享以及写时复制(CoW)技术的具体实现。Docker存储基础技术镜像分层所有的Docker镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。默认Docker镜像由多个只读层镜像叠加而成,启动容器后,Docker会加载只读镜像层,并再顶部添加一个读写层,并通过写时复制的方式,来
Docker网络模式Docker网络架构源自一种叫作容器网络模型(CNM)的方案,该方案是开源的并且支持插接式连接。Libnetwork是Docker对CNM的一种实现,提供了Docker核心网络架构的全部功能。不同的驱动可以通过插拔的方式接入Libnetwork来提供定制化的网络拓扑。为了实现开箱即用的效果,Docker封装了一系列本地网络驱动(bridge驱动,overlay驱动,macvla
Elasticsearch简介Elasticsearch是一个近实时的分布式搜索分析引擎,常被用作全文搜索,结构化搜索,分析等。它使用Java编写的且开源,它的内部使用Lucene做索引与搜索,但是它的目的是使全文检索变得简单,通过隐藏Lucene的复杂性,取而代之的提供一套简单一致的RESTfulAPI。Lucene是一个基于Java的全文信息检索工具库,它不是一个完整的搜索应用程序,而是为你的
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号