-
小知识:Kubernetes应用管理器OpenKruise
OpenKruise OpenKruise 是 Kubernetes 的一个标准扩展,它可以配合原生 Kubernetes 使用,并为管理应用容器、sidecar、镜像分发等方面提供更加强大和高效的能力。 核心功能 原地升级 原地升级是一种可以避免删除、新建 Pod 的升级镜像能力。它比原生 Deployment/StatefulSet 的重建 Pod 升级更快、更高效,并且避免对 …- 2
- 0
-
小知识:kubernetes对象Volume用法详解
概述 Volume是对各种存储资源的抽象、虚拟化。为管理、控制、使用存储资源提供统一接口。Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储。因为在kubernetes中可部署运行最小单位是pod ,所以kubernetes的volume为pod提供存储。当然在部署pod时可以不为其提供volume,pod中的容器使用所在节点的硬盘,能同时读写数据的地方…- 0
- 0
-
小知识:详解kubernetes pod的编排和生命周期
K8S Master基本架构 K8S的集群运行依赖Master节点和Node节点的通信,为了更好的理解第4部分的Pod生命周期,我们这里先给出K8S Master的简单架构图,后续的文章中,我们会分析Master、Node和Pod之间的关系。 Master的架构图: 其中: API Server提供了HTTP Rest接口,它是k8s中的所有资源增删改查的…- 1
- 0
-
小知识:如何在kubernetes中创建Pod
如何创建Pod? 在之前的文章中,我们介绍了容器和Pod的区别和关系。我们知道Pod是k8s调度的最小单位,而一个Pod中可以有多个容器,那么我们如何来定义一个我们自己的Pod呢? 在k8s中,我们通常使用编写配置文件的方式创建一个Pod,配置文件的格式通常采用yaml格式,(yaml格式如何表示…- 3
- 0
-
小知识:Kubernetes容器健康检查配置
简介 此文讲述如何配置容器的Liveness、Readiness、Startup探针。 kubelet使用Liveness探测器来知道什么时候要重启容器。例如,Liveness探测器可以捕捉到死锁(应用程序在运行,但是无法继续执行后面的步骤)。这样的情况下重启容器有助于让应用程序在有问题的情况下更可用。 kubelet使用Readiness探测器可以知道容器什么时候准备好了并可以开始接受请求流量,…- 3
- 0
-
小知识:Kubernetes限制节点启动的Pod数量
Node节点默认的Pod数量 Kubernetes Node节点每个默认允许最多创建110个Pod,有时可能会由于系统硬件的问题,从而需要控制Node节点的Pod的运行数量。 即:需要调整Node节点的最大可运行Pod数量。 一般来说,我们只需要在kubelet启动命令中增加–max-pods参数,然后,重启kubelet 服务,就生效。 重启kubelet,不影响现有运行中的容器,不会造成容器重…- 12
- 0
-
小知识:说说 Kubernetes 是怎么实现服务发现的
我们来说说 Kubernetes 的服务发现。那么首先这个大前提是同主机通信以及跨主机通信都是 ok 的,即同一 Kubernetes 集群中各个 Pod 都是互通的。这点是由更底层的方案实现,包括 docker0/CNI 网桥、Flannel vxlan/host-gw 模式等,在此篇就不展开讲了。 在各 Pod 都互通的前提下,我们可以通过访问 podIP 来调用 Pod 上的资源,那么离服务…- 0
- 0
-
小知识:在Kubernetes中实现优雅退出
随着持续部署(Continously Deployment)在项目中的使用,之前定期或者固定时间的发布节奏变为了随时高频率的发布。这就要求每次发布都应该是零停机部署(Zero Downtime Deployment),否则将会引入bug。k8s中有一套完整的机制保证我们的应用能够实现零停机部署,本文将重点分析其中的优雅退出部分。 本文需要对k8s的架构和核心组件的职责有一定的了解,如不了解可参考K…- 2
- 0
-
小知识:Kubernetes 有状态应用基本概念&Nginx部署
1、无状态与有状态 Deployment控制器设计原则:管理的所有Pod一模一样,提供同一个服务,也不考虑在哪台Node运行,可随意扩容和缩容。这种应用称为“无状态”,例如Web服务 但是,在实际的场景中,并不能满足所有应用,尤其是分布式应用,会部署多个实例,这些实例之间往往有依赖关系,例如主从关系、主备关系,这种应用称为“有状态”,例如MySQL主从、Etcd集群、redis-cluster 等…- 1
- 0
-
小知识:Kubernetes集群多租户资源管理
1.概述 先讲解Pod的两个重要参数:CPU Request与Memory Request。在大多数情况下我们在定义Pod时并没有定义这两个参数,此时Kubernetes会认为该Pod所需的资源很少,并可以将其调度到任何可用的Node上。这样一来,当集群中的计算资源不很充足时,如果集群中的Pod负载突然加大,就会使某个Node的资源严重不足。 为了避免系统挂掉,该Node会选择“清理”某些Pod来…- 2
- 0
-
小知识:Kubernetes中的多容器 Pod 设计模式
Pod在Kubernetes中,Pod是一个可部署单元。如果要部署应用程序,它必须将Pod作为容器部署在Pod中。尽管应用程序可以在容器中运行,但容器必须是Pod的一部分。Pod规范具有声明容器规范的属性容器。这个属性是复数的。这意味着可以在Pod规范中声明多个容器。 多容器设计考虑 但是Kubernetes管理员总是选择单一容器Pod而不是多容器Pod。每个Pod采用一个容器是行业中的一人不成文…- 2
- 0
-
小知识:如何在Kubernetes集群上部署第一个pod?
Pod是Kubernetes应用程序的基本执行单元。它是一起部署在同一个主机上的容器组成的集合。Kubernetes集群中的Pod可以通过两种方式来使用: 运行单个容器的Pod:这是使用Pod的最流行方式。Kubernetes管理Pod,而不是直接管理容器。 运行多个需要协同工作的容器的Pod:在这种模式中,一个Pod可能有多个紧密耦合的容器以共享资源。 如上所述,一个Pod可能有多个容器,因此始…- 0
- 0
-
小知识:超好用的k8s中pod诊断工具:Kubectl-debug
背景 容器技术的一个最佳实践是构建尽可能精简的容器镜像。但这一实践却会给排查问题带来麻烦:精简后的容器中普遍缺失常用的排障工具,部分容器里甚至没有 shell (比如 FROM scratch )。 在这种状况下,我们只能通过日志或者到宿主机上通过 docker-cli 或 nsenter 来排查问题,效率很低,在K8s环境部署应用后,经常遇到需要进入pod进行排错。除了查看pod logs和de…- 3
- 0
-
小知识:常用的清理 Kubernetes 集群资源命令
长时间运行的集群,常会面临各种资源耗尽的问题,另外磁盘不足时 Kubelet 还会主动清理镜像增加不确定因素,本文提供了一些命令片段用于清理工作。 1. Kubernetes 基础对象清理 清理 Evicted 状态的 Pod kubectl get pods --all-namespaces -o wide | grep Evicted | awk {print $1,$2} | xargs -…- 0
- 0
-
小知识:微服务故障排除方面的优秀实践
人们听到“微服务”时,常常想到Kubernetes,这是一种声明式容器编排系统。由于具有声明性,Kubernetes将微服务视作实体,这在故障排除方面带来了一些难题。不妨看看为什么在Kubernetes环境下为微服务排除故障可能具有挑战性,以及一些相应的最佳实践。 想了解为什么为微服务排除故障可能具有挑战性,不妨看一个例子。 如果您在Kubernetes中有一个应用程序,就可以将它部署为pod,利…- 0
- 0
-
小知识:深入理解 Kubernetes 容器网络
在容器网络接入进来需要满足如下基本原则: Pod无论运行在任何节点都可以互相直接通信,而不需要借助NAT地址转换实现。 Node与Pod可以互相通信,在不限制的前提下,Pod可以访问任意网络。 Pod拥有独立的网络栈,Pod看到自己的地址和外部看见的地址应该是一样的,并且同个Pod内所有的容器共享同个网络栈。 容器网络基础 一个Linux容器的网络栈是被隔离在它自己的Network Namespa…- 0
- 0
-
小知识:kubernetes集群搭建Zabbix监控平台的详细过程
目录 一、zabbix介绍 1.zabbix简介 2.zabbix特点 3.zabbix的主要功能 4.zabbix架构图 二、检查本地k8s环境 1.检查系统pod运行状态 2.检查node节点状态 三、配置nfs共享存储 1.安装nfs 2.创建共享目录 3.配置共享目录 4.启动相关服务 5.使配置生效 6.查看nfs 7.其他节点检查nfs共享 四、安装zabbix-mysql 1.编写z…- 2
- 0
-
小知识:服务发现与负载均衡机制Service实例创建
目录 什么是Service? 创建一个Service实例 集群外部访问svc 创建代理外部应用的Service实例 Service反代外部域名 Service 的类型: 什么是Service? Service是逻辑上的一组Pod,一种可以访问Pod的策略,而且其他Pod可以通过Service访问到这个Service代理的Pod,可以把它理解为传统架构中的反向代理。 相对于Pod而言,Service…- 2
- 0
-
小知识:云原生技术kubernetes之volumes容器的使用
卷(volumes): 容器中的文件存在时间是短暂的,当一个容器发生崩溃时,文件会丢失,而容器重新启动后状态却是干净的;而第二个问题时解决了一个Pod中不同容器间共享文件。 卷的类型有很多,详细请查看官方文档:卷 1.emptyDir 1.1.emptyDir卷特性: 当Pod被创建时,emptyDir卷也随之创建,在Pod运行期间,此卷会一直存在。 用于Pod中不同容器间的数据共享。 当 Pod…- 0
- 0
-
小知识:关于k8s 使用 Service 控制器对外暴露服务的问题
Service 引入主要是解决 Pod 的动态变化,提供统一访问入口: 防止 Pod 失联,准备找到提供同一个服务的 Pod (服务发现) 定义一组 Pod 的访问策略 (负载均衡) 部署 deploy ? 1 kubectl apply -f deploy.yaml ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 apiVersio…- 0
- 0
-
小知识:配置Kubernetes外网访问集群
查询 Service 关于 Service,读者可以查看官方文档的资料:https://kubernetes.io/zh/docs/concepts/services-networking/service/ Service 是 k8s 中为多个 pod 公开网络服务的抽象方法。在 k8s 中,每个 pod 都有自己的 ip 地址,而且 Service 可以为一组 pod 提供相同的 DNS ,使得…- 5
- 0
-
小知识:了解Kubernetes中的Service和Endpoint
Srevice Service 是将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。如果我们使用 Deployment 部署 pod,则可以以 Deployment 为对象创建 Service。 在 K8S 中,每个 Pod 都有其自己唯一的 ip 地址,而 Service 可以为多个 Pod(一组)提供相同的 DNS 名,并且可以在他们直接进行负载均衡。 假如有一组 nginx po…- 34
- 0
-
小知识:kubernetes k8s常用问题排查方法
Pod 的那些状态 使用 K8s 部署我们的服务之后,为了观察 Pod 是否成功,我们都会使用下面这个命令查询 Pod 的状态。 kubectl get pods NAME READY STATUS RESTARTS AGE my-app-5d7d978fb9-2fj5m 0/1 ContainerCreating 0 10s my-app-5d7d978fb9-dbt89 0/1 Contain…- 4
- 0
-
小知识:k8s查看pod日志的几种实用方法汇总
通过kubectl kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER] 参数 简写 默认值 说明 container c 打印指定容器的日志 all-containers false 获取pod中所有容器的日志。 selector l 通过标签筛选pod,支持 ‘=’、‘==’ 和 ‘!=’。 例如 -l key1=value1,key2…- 13
- 0
❯
个人中心
购物车
优惠劵
今日签到
有新私信
私信列表
搜索
扫码打开当前页
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
猿优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!