![](https://img-blog.csdnimg.cn/20201105175912370.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
k8s
文章平均质量分 89
Kubernetes最初起源于Google,它的前辈有Borg和Omega。这些系统的很多设计和实现理念都已经以不同的形式融入到kubernetes中,其中包括今天分布式系统的标准,也包括Google在过去很多年里积累下的最佳实践。Kubernetes最初被认为是Borg或Omega的“开源版”
赵北北北北北
我是一个热爱开发的大学生,正在努力学习,想通过自己的学习为国家发展做贡献,同时也利用我学的知识能够帮助别人,我很荣幸。
展开
-
16个核心概念入门 Kubernetes
16个核心概念入门 KubernetesKubernetes是Google开源的容器集群管理系统,是Google多年⼤规模容器管理技术Borg的开源版本,主要功能包括:基于容器的应用部署、维护和滚动升级负载均衡和服务发现跨机器和跨地区的集群调度自动伸缩无状态服务和有状态服务广泛的Volume支持插件机制保证扩展性Kubernetes发展非常迅速,已经成为容器编排领域的领导者,接下来我们将讲解Kubernetes中涉及到的一些主要概念。1、PodPod是一组紧密关联的容器集合,支持转载 2022-02-09 10:08:54 · 225 阅读 · 0 评论 -
Kuberneters CRD从入门到熟悉(第一部分)
CRD 允许用户基于自己产品的概念,让 Kubernetes 已有的资源为用户服务。原创 2021-12-22 16:08:42 · 566 阅读 · 0 评论 -
NFS动态分配PV理解
一、什么是StorageClassKubernetes提供了一套可以自动创建PV的机制,即:Dynamic Provisioning.而这个机制的核心在于:StorageClass这个API对象.StorageClass对象会定义下面两部分内容:1,PV的属性.比如,存储类型,Volume的大小等.2,创建这种PV需要用到的存储插件有了这两个信息之后,Kubernetes就能够根据用户提交的PVC,找到一个对应的StorageClass,之后Kubernetes就会调用该StorageClass原创 2021-05-24 11:27:19 · 784 阅读 · 2 评论 -
pvpvc理解及实践
pv/pvc理解及实践一、pv/pvc简述Pv 是指 Persistent Volume,中文含义是持久化存储卷是对底层的共享存储的一种抽象,pv由管理员进行配置和创建,只要包含存储能力,访问模式,存储类型,回收策略,后段存储类型等主要信息。它和具体的底层的存储技术实现有关,比如NFS, Hostpath等,Pvc是一种用户对存储的需求声明,声明中包括了存储大小、存储类型、以及k8s中选择器的属性等,另一个角度来看PVC和Pod类似,Pod是消耗节点node资源,PVC消耗的是PV资源,Pod可以请求C原创 2021-05-24 11:26:29 · 2887 阅读 · 1 评论 -
Kubernetes 控制型模式
Kubernetes 控制型模式Kubernetes 作为成熟的容器编排系统,已经作为各大云厂商的标准服务,为软件企业提供了灰度发布、蓝绿发布等功能,使用了当前企业应用软件快速迭代,快速发布的节奏。支持企业应用的弹性伸缩,自动重启,保证高可用的服务;提供完整的应用管理、网络管理、存储管理解决方案,大大减少企业软件应用的运维成本,Kubernetes如何能够实现最大单个集群能够达到5000个节点,15万个Pod的完全自动化管理,更多归功于声明式API编程与控制器模式的协作。在Kubernetes 中运行了一原创 2021-04-29 17:59:56 · 190 阅读 · 0 评论 -
Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版
Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版如果想要说清楚ln 敏玲,则必须先解释一下ext 文件系统(Linux 文件系统)是如何工作的,了解linux 的话就会知道,分区的格式化就是写入文件系统,而我们的linxu 目前使用ext4文件系统,如果用一张示意图来描述 ext4文件系统,则可以参考下图。ext4文件系统会把分区主要分为两大部分(暂不讨论超级块的问题),小部分用于保存inode(节点)信息,剩余的大部分用于保存block信息。 inode 的默认大小为128Byte,原创 2020-12-01 12:55:28 · 2104 阅读 · 0 评论 -
Linux expect 介绍和用法
Linux expect 介绍和用法expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。expect自动交互流程:spawn启动指定进程—expect获取指定关键字—send向指定程序发送指定字符—执行完成退出.注意该脚本能够执行的前提是安装了expectyum install -y expectexpect常用命令总结:spawn 交互程序开始后面跟命令或者指定程序expect原创 2020-12-01 12:54:58 · 415 阅读 · 0 评论 -
KubernetesAPI审计日志方案
KubernetesAPI审计日志方案当前Kubernetes(K8S)已经成为事实上的容器编排标准,大家关注的重点也不再是最新发布的功能、稳定性提升等,正如Kubernetes项目创始人和维护者谈到,Kubernetes已经不再是buzzword,当我们谈起它的时候,变得越发的boring,它作为成熟项目已经走向了IT基础设施的中台,为适应更大规模的生产环境和更多场景的应用不断延展迭代。而现在我们更加专注于如何利用K8S平台进行CICD、发布管理、监控、日志管理、安全、审计等等。本期我们将介绍如何利用原创 2020-12-01 12:54:31 · 1314 阅读 · 1 评论 -
kubectl 命令详解
Kubernetes kubectl 命令表文章目录Kubernetes kubectl 命令表"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少kubectl run语法:示例:其它详细说明kubectl expose语法kubectl annotate有效资源类型包括:语法示例kubectl autoscale语法示例kubectl convert语法示例kubectl create语法示例kubectl create clusterrole语法示例kubectl create cluster原创 2020-12-01 12:53:24 · 556 阅读 · 0 评论 -
理解 K8S 的设计精髓之 list-watch
理解 K8S 的设计精髓之 list-watchList-watch, 是k8s系统中统一的一部消息传递方式,对系统的性能、数据一致性起到关键性的作用,Etcd 存储集群的数据信息,apiserver 作为统一入口,任何对数据的操作都必须经过 apiserver。客户端(kubelet/scheduler/ontroller-manager)通过 list-watch 监听 apiserver 中资源(pod/rs/rc 等等)的 create, update 和 delete 事件,并针对事件类型调用相原创 2020-12-01 12:53:04 · 2042 阅读 · 0 评论 -
kubernetes 通过环境变量向容器暴露 Pod 信息
kubernetes 通过环境变量向容器暴露 Pod 信息在学习docker的时候,大家可能经常看到不少示例在docker run的时候指定环境变量(比如wordpress的docker示例就是通过环境变量传入账户和密码到容器内).这里之所以经常用到环境变量,主要基于以下两点原因容器内的操作往往都是自动化的,而不像在windows会有图形界面提示输入信息或者像在linux有交互式命令可以输入程序需要的数据.也就是程序运行时需要的参数无法交互式指定,不同程序读取配置的方式又各式各样,这种情况下读取环境变原创 2020-11-07 23:30:37 · 1113 阅读 · 0 评论 -
Kubernetes 使用 PodPreset 将信息注入 Pods
Kubernetes 使用 PodPreset 将信息注入 Pods文章目录Kubernetes 使用 PodPreset 将信息注入 Pods什么是 Pod Preset?准入控制行为启用 Pod Preset为 Pod 禁用 Pod Preset创建 Pod Preset简单的 Pod Spec 示例带有 ConfigMap 的 Pod Spec 示例带有 Pod Spec 的 ReplicaSet 示例多 PodPreset 示例冲突示例删除 Pod Preset在 pod 创建时,用户可以使用原创 2020-11-07 23:30:06 · 384 阅读 · 0 评论 -
Kubernetes中的亲和性与反亲和性
Kubernetes中的亲和性与反亲和性文章目录Kubernetes中的亲和性与反亲和性nodeSelector亲和与反亲和 Affinity and anti-affinity节点亲和性 Node affinityPod间的亲和性与反亲和性 inter-pod affinity/anti-affinity常用场景Kubernetes中的亲和性实践实践Pod调动到某些节点上Affinity/anti-affinity nodePod间的亲和性和反亲和性常用的场景通常情况下,Pod分配到哪些Node是不需原创 2020-11-06 18:15:14 · 407 阅读 · 1 评论 -
Kubernetes Pod 优先级和抢占
Kubernetes Pod 优先级和抢占文章目录Kubernetes Pod 优先级和抢占怎么样使用优先级和抢占启用优先级和抢占PriorityClassPriorityClass 示例Pod priority抢占限制抢占(alpha 版本)饥饿式抢占PodDisruptionBudget is not supported低优先级 Pod 之间的亲和性跨节点抢占Kubernetes 1.8 及其以后的版本中可以指定 Pod 的优先级。优先级表明了一个 Pod 相对于其它 Pod 的重要性。当 Pod原创 2020-11-06 18:14:25 · 166 阅读 · 0 评论 -
Kubernetes Pod 生命周期
Kubernetes Pod 生命周期文章目录Kubernetes Pod 生命周期Pod phasePod 状态容器探针该什么时候使用存活(liveness)和就绪(readiness)探针?Pod 和容器状态重启策略Pod 的生命示例高级 liveness 探针示例状态示例Pod phasePod 的 status 定义在 PodStatus 对象中,其中有一个 phase 字段。Pod 的相位(phase)是 Pod 在其生命周期中的简单宏观概述。该阶段并不是对容器或 Pod 的综合汇总,也不原创 2020-11-06 18:11:48 · 140 阅读 · 0 评论 -
Kubernetes 给容器和Pod分配CPU资源
Kubernetes 给容器和Pod分配CPU资源文章目录Kubernetes 给容器和Pod分配CPU资源@[toc]Before you begin创建一个命名空间声明一个CPU申请和限制CPU 单位请求的CPU超出了节点的能力范围如果不指定CPU限额呢设置CPU申请和限制的动机清理这个教程指导如何给容器分配请求的CPU资源和配置CPU资源限制,我们保证容器可以拥有 所申请的CPU资源,但是并不允许它使用超过限制的CPU资源。Before you beginYou need to have a原创 2020-11-06 18:08:56 · 2125 阅读 · 0 评论 -
Kubernetes 给容器和Pod分配内存资源
Kubernetes 给容器和Pod分配内存资源文章目录Kubernetes 给容器和Pod分配内存资源@[toc]Before you begin创建一个命名空间配置内存申请和限制超出容器的内存限制配置超出节点能力范围的内存申请内存单位如果不配置内存限制内存申请和限制的原因清理这篇教程指导如何给容器分配申请的内存和内存限制。我们保证让容器获得足够的内存 资源,但是不允许它使用超过限制的资源。Before you beginYou need to have a Kubernetes cluster,原创 2020-11-06 18:08:09 · 1851 阅读 · 0 评论 -
Kubernetes 给 Pod 配置服务质量等级
Kubernetes 给 Pod 配置服务质量等级文章目录Kubernetes 给 Pod 配置服务质量等级Before you beginQoS 等级创建一个命名空间创建一个 Pod 并分配 QoS 等级为 Guaranteed创建一个 Pod 并分配 QoS 等级为 Burstable创建一个 Pod 并分配 QoS 等级为 BestEffort创建一个拥有两个容器的 Pod清理What’s next对于集群管理员0对于应用开发者这篇教程指导如何给 Pod 配置特定的服务质量(QoS)等级。Kube原创 2020-11-06 18:07:09 · 311 阅读 · 0 评论 -
k8s Init 容器
k8s Init 容器文章目录k8s Init 容器理解 Init 容器与普通容器的不同之处Init 容器能做什么?示例使用 Init 容器具体行为资源Pod 重启的原因支持与兼容性该特性在 1.6 版本已经退出 beta 版本。Init 容器可以在 PodSpec 中同应用程序的 containers 数组一起来指定。 beta 注解的值将仍需保留,并覆盖 PodSpec 字段值。本文讲解 Init 容器的基本概念,它是一种专用的容器,在应用程序容器启动之前运行,并包括一些应用镜像中不存在的实用工具原创 2020-11-06 18:05:04 · 558 阅读 · 1 评论 -
kubectl命令详解
Kubernetes kubectl 命令表文章目录Kubernetes kubectl 命令表"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少kubectl run语法:示例:其它详细说明kubectl expose语法kubectl annotate有效资源类型包括:语法示例kubectl autoscale语法示例kubectl convert语法示例kubectl create语法示例kubectl create clusterrole语法示例kubectl create cluster翻译 2020-11-05 18:09:04 · 708 阅读 · 0 评论 -
k8s的Service外部访问方式NodePort和LoadBalancer
Kubernetes的Service外部访问方式:NodePort和LoadBalancerKubernetes的Pod的寿命是有限的,它们不会复活,因此尽管每个Pod都有自己的IP地址,但是这些IP地址是不可靠的,会随着Pod的消亡而消失。这就带来一个问题,如果一些Pod的集合(称之为backends)为集群的其他的Pod(称之为frontends),这些frontends应该如何找到并一直知道哪些backends在这样的集合中呢?这就需要引入Service, 一个kubernetes的service是原创 2020-11-05 18:05:30 · 4910 阅读 · 0 评论 -
k8s 中 port nodePort targetPort概念的区分
k8s 中 port nodePort targetPort概念的区分1、三个类型端口所应用位置的不同port是service的的端口targetport是pod也就是容器的端口nodeport是容器所在宿主机的端口(实质上也是通过service暴露给了宿主机,而port却没有)2、在作用上port的主要作用是集群内其他pod访问本pod的时候,需要的一个port,如nginx的pod访问mysql的pod,那么mysql的pod的service可以如下定义,由此可以这样理解,port是ser原创 2020-11-05 18:04:16 · 322 阅读 · 0 评论