草庐IT

k8s中的Pod网络;Service网络;网络插件Calico

Pod网络;Service网络;网络插件CalicoPod网络在K8S集群里,多个节点上的Pod相互通信,要通过网络插件来完成,比如Calico网络插件。使用kubeadm初始化K8S集群时,有指定一个参数–pod-network-cidr=10.18.0.0/16它用来定义Pod的网段。而我们在配置Calico的时候,同样也有定义一个CALICO_IPV4POOL_CIDR的参数,它的值同样也是Pod的网段。容器网络尤其是在跨主机容器间的网络是非常复杂的。目前主流的容器网络模型主要有Docker公司提出的ContainerNetworkModel(CNM)模型和CoreOS公司提出的Cont

一文带你深入理解K8s-Pod的意义和原理

本文分享自华为云社区《深入理解K8s-Pod的意义和原理》,作者:breakDawn。在Kubernetes概念中,有以下五种概念:容器container:镜像管理的最小单位生产任务Pod:容器组,资源调度最小单位节点Node:对应集群中的单台机器,是硬件单元的最小单位集群Cluster:对应整个集群,是处理元数据的最小单位集群联邦Federation:对应多个集群,是满足跨可用区域多活、跨地域容灾的要求其中Pod的概念是随Kubernetes一起推出的。Kubernetes项目是基于Borg系统的经验和设计理念创建的,其中Pod的概念就是一个关键部分。因此,可以说Pod是从2014年6月Ku

云原生周刊:2024 扩展 K8s 集群指南 | 2024.1.2

开源项目推荐JibJib无需Docker守护进程,也无需深入掌握Docker最佳实践,即可为您的Java应用程序构建优化的Docker和OCI映像。它可作为Maven和Gradle的插件以及Java库使用。DocketeerDocketeer提供了一个简单的界面来管理Docker资源并可视化主机和容器指标数据以及Kubernetes集群数据。Docketeer是一个容器化应用程序,可以轻松地与应用程序集群一起部署。HelmifyHelmify是一个CLI工具,用于从Kubernetes配置文件生成Helmcharts。它可以将支持的Kubernetes对象转换为Helmchart,并提供了多种

一文带你深入理解K8s-Pod的意义和原理

本文分享自华为云社区《深入理解K8s-Pod的意义和原理》,作者:breakDawn。在Kubernetes概念中,有以下五种概念:容器container:镜像管理的最小单位生产任务Pod:容器组,资源调度最小单位节点Node:对应集群中的单台机器,是硬件单元的最小单位集群Cluster:对应整个集群,是处理元数据的最小单位集群联邦Federation:对应多个集群,是满足跨可用区域多活、跨地域容灾的要求其中Pod的概念是随Kubernetes一起推出的。Kubernetes项目是基于Borg系统的经验和设计理念创建的,其中Pod的概念就是一个关键部分。因此,可以说Pod是从2014年6月Ku

Kubernetes(K8S)集群部署

目录一、创建3台虚拟机二、为每台虚拟机安装Docker三、安装kubelet3.1安装要求3.2为每台服务器完成前置设置3.3为每台服务器安装kubelet、kubeadm、kubectl四、使用kubeadm引导集群4.1master服务器4.2node1、node2服务器4.3初始化主节点4.4work节点加入集群五、token过期怎么办?六、安装可视化界面dashboard6.1安装6.2暴露端口6.3访问web界面6.4创建访问账号6.5生成令牌6.6登录七、写在后面的话一、创建3台虚拟机具体操作步骤可以参考之前的教程,建议是先安装一台,然后克隆虚拟机,这样速度快。注意:在克隆时记得修

docker和k8s基础介绍

一Docker介绍1.1docker是什么  Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为DockerInc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容(LXC)等技术。在LXC的基

构建 dotnet&vue 应用镜像->推送到 Nexus 仓库->部署为 k8s 服务实践

前言前面分享了k8s的部署安装,本篇来点实操,将会把一个.netcore+vue的项目(zhontai),打包构建成docker镜像,推送到nexus镜像仓库,并部署到k8s中准备要实现项目的部署,除了准备要部署的环境(k8s),还需要准备项目所用到的各中间件,本文旨在分享部署的一个整体流程,对项目中所使用到的各中间件(mysql,redis等)的安装使用可自行在本DevOps系列文章中找到一个.netcore+vue的项目使用zhontai项目,之前也有做分享,文章介绍后端Admin.Corev3.7.1前端admin.ui.plusv2.2.0Nexus的安装部署,文章介绍做为镜像仓库使用

k8s pod 处于Terminating的原因分析和解决处理——筑梦之路

之前整理了一下各种资源长时间无法回收,解决处理的命令行k8s各种资源Terminationg状态处理——筑梦之路_k8s自定义资源修改状态-CSDN博客这里具体整理下pod长时间处于Terminating状态的相关知识,主要是对前面的补充和完善,作为笔记记录。背景说明当我们要删除一个Pod时,Kubernetes会发送删除命令,并开始删除操作。但是,Pod并不会立即被销毁。它先被放置在Terminating状态下,以便它可以完成正在进行的操作。但有时Pod会长时间停留在Terminating状态下,这可能会影响应用程序的正常运行。常见原因Pod中有未处理完的请求或资源占用,如长时间运行的进程。

K8S容器的一则故障记录

一、故障现象  XXX反馈说某某业务服务异常,无法启动,需要进行协助排查。经常会接到这样一个需求,一开始无法清楚知道具体什么问题,需要跟一线运维人员详细做沟通,了解故障问题的细节。  根据一线运维人员的反馈,是有一套5节点单master的k8s集群,其中一个node异常重启后,导致上面一个关键mysql服务pod(有持久化存储)无法启动,从而影响到整体业务。一线检查集群反馈服务状态都正常。二、分析过程   1、单pod问题?    从当前情况看,表面现象是说mysql的pod无法启动,也没法切换。但是不是只有这一个问题呢?一开始怀疑是不是mysql做了标签绑定,只能在该node运行,检查一番并

从 Linux Crontab 到 K8s CronJob,定时任务正在经历怎样的变革

背景Job表示短周期的作业,定时Job表示按照预定的时间运行Job,或者按照某一频率周期性的运行Job。比如:许多传统企业使用Linux自带的crontab来做定时任务的方案,该方案非常简单,适合做主机上的运维工作,比如定时清理日志、周期性做健康检查。随着信息化时代的高速发展,业务变得越来越复杂,很多场景都需要定时任务,但是crontab方案存在高可用问题,不适合应用在业务应用上。在云原生时代,K8sCronJob设计了一套高可用的定时任务解决方案,保障了业务的稳定。但是把K8sCronJob应用在生产上,发现定时任务真的出问题的时候排查起来很麻烦,于是越来越多用户对定时任务的可观测有了更多的