草庐IT

Kubernetes_APIServer_APIServer

全部标签

进击的K8S:Kubernetes基础概念

Kubernetes简介Kubernetes简称K8S(因为k和s中间有8个字母),是一个开源的容器集群管理平台,基于Go语言编写。使用K8S,将简化分布式系统上的容器应用部署,使得开发人员可以专注于业务软件,而非较为底层的负载均衡、服务监控等。因此,可以认为它是介于操作系统软件和应用软件之间的”中间件“。K8S具有强大的自动化机制,降低了系统后期的运维难度。此外,K8S没有限定编程接口,无论Java、Go、C++还是Python编写的服务,都可以映射为K8S的Service。并且由于其对现有的语言、框架、中间件没有任何侵入性,使得服务易于迁移到K8S上。本文力图使用通俗易懂的语言概括Kube

Kubernetes 的 NameSpace 无法删除应该怎么办?

概述有时候我们操作不规范,或者删除的先后顺序有问题,或者某项关键服务没有启动,导致Kubernetes经常会出现无法删除NameSpace的情况。这种情况下我们应该怎么办?规范删除流程其实,很多时候出现这种情况,主要是因为我们的删除操作不规范,典型的有下面几种情况:删除的先后顺序有问题,如:先删除了Traefik的关键组件,再尝试删除包含TraefikIngress或EdgeIngress的CRD某项关键服务没有启动,如:对于安装了PrometheusOperator+customadapter的Kubernetes集群,在Prometheus的一些关键组件scaledown的情况下,删除包含

Kubernetes 的 NameSpace 无法删除应该怎么办?

概述有时候我们操作不规范,或者删除的先后顺序有问题,或者某项关键服务没有启动,导致Kubernetes经常会出现无法删除NameSpace的情况。这种情况下我们应该怎么办?规范删除流程其实,很多时候出现这种情况,主要是因为我们的删除操作不规范,典型的有下面几种情况:删除的先后顺序有问题,如:先删除了Traefik的关键组件,再尝试删除包含TraefikIngress或EdgeIngress的CRD某项关键服务没有启动,如:对于安装了PrometheusOperator+customadapter的Kubernetes集群,在Prometheus的一些关键组件scaledown的情况下,删除包含

kubernetes数据持久化PV-PVC详解(一)

官方文档地址:https://kubernetes.io/zh-cn/docs/concepts/storage/persistent-volumes/1.什么是PV,PVC?1.1什么是PVPresistentVolume(PV)是指集群管理员配置提供的某存储系统上的一段存储空间,它是对底层共享存储的抽象,将共享存储作为一种可由用户申请使用的资源,实现"存储消费"机制,通过存储插件,PV支持使用多种网络存储等多种后端存储系统,例如,NFS、CephFS、RBD。PV是集群级别的资源,不属于任何名称空间,用户对PV资源的使用需要通过PersistentVolumeClaim(PVC)提供的使用

kubernetes数据持久化PV-PVC详解(一)

官方文档地址:https://kubernetes.io/zh-cn/docs/concepts/storage/persistent-volumes/1.什么是PV,PVC?1.1什么是PVPresistentVolume(PV)是指集群管理员配置提供的某存储系统上的一段存储空间,它是对底层共享存储的抽象,将共享存储作为一种可由用户申请使用的资源,实现"存储消费"机制,通过存储插件,PV支持使用多种网络存储等多种后端存储系统,例如,NFS、CephFS、RBD。PV是集群级别的资源,不属于任何名称空间,用户对PV资源的使用需要通过PersistentVolumeClaim(PVC)提供的使用

云原生之旅 - 11)基于 Kubernetes 动态伸缩 Jenkins Build Agents

前言上一篇文章 云原生之旅-10)手把手教你安装JenkinsonKubernetes 我们介绍了在Kubernetes上安装Jenkins,本文介绍下如何设置k8spod作为Jenkins构建job的agent。Jenkinsmaster和agent均以pod的形式运行在 Kubernetes节点上。Master运行在其中一个节点上,其配置数据Jenkinshome使用存储卷挂载,masterpod重启不会导致数据丢失。agent运行在各个节点上,根据需求动态创建并自动释放。这样做的好处很多,比如高可用,高伸缩性,资源利用率高。关键词:JenkinsonKubernetes实践,Jenkin

云原生之旅 - 11)基于 Kubernetes 动态伸缩 Jenkins Build Agents

前言上一篇文章 云原生之旅-10)手把手教你安装JenkinsonKubernetes 我们介绍了在Kubernetes上安装Jenkins,本文介绍下如何设置k8spod作为Jenkins构建job的agent。Jenkinsmaster和agent均以pod的形式运行在 Kubernetes节点上。Master运行在其中一个节点上,其配置数据Jenkinshome使用存储卷挂载,masterpod重启不会导致数据丢失。agent运行在各个节点上,根据需求动态创建并自动释放。这样做的好处很多,比如高可用,高伸缩性,资源利用率高。关键词:JenkinsonKubernetes实践,Jenkin

kubernetes数据持久化StorageClass动态供给(二)

存储类的好处之一便是支持PV的动态供给,它甚至可以直接被视作为PV的创建模版,用户用到持久性存储时,需要通过创建PVC来绑定匹配的PV,此类操作需求较大,或者当管理员手动创建的PV无法满足PVC的所有需求时,系统按PVC的需求标准动态创建适配的PV会为存储管理带来极大的灵活性,不过仅那些属于StorageClass的PVC和PV才能产生绑定关系,即没有指定StorageClass的PVC只能绑定同类的PV。存储类对象的名称至关重要,它是用户调用的标识,创建存储类对象时,除了名称之外,还需要为其定义三个关键字段。provisioner、parameter和reclaimPolicy。所以kube

kubernetes数据持久化StorageClass动态供给(二)

存储类的好处之一便是支持PV的动态供给,它甚至可以直接被视作为PV的创建模版,用户用到持久性存储时,需要通过创建PVC来绑定匹配的PV,此类操作需求较大,或者当管理员手动创建的PV无法满足PVC的所有需求时,系统按PVC的需求标准动态创建适配的PV会为存储管理带来极大的灵活性,不过仅那些属于StorageClass的PVC和PV才能产生绑定关系,即没有指定StorageClass的PVC只能绑定同类的PV。存储类对象的名称至关重要,它是用户调用的标识,创建存储类对象时,除了名称之外,还需要为其定义三个关键字段。provisioner、parameter和reclaimPolicy。所以kube

云原生之旅 - 4)基础设施即代码 使用 Terraform 创建 Kubernetes

前言上一篇文章我们已经简单的入门Terraform,本篇介绍如何使用Terraform在GCP和AWS创建Kubernetes资源。Kubernetes在云原生时代的重要性不言而喻,等于这个时代的操作系统,基本上只需要建这个资源,就可以将绝大多数的应用跑在上面,包括数据库,甚至很多团队的大数据处理例如Spark,Flink都跑在Kubernetes上。GCP Kubernetes=GKEAWS Kubernetes= EKSAzure Kubernetes=AKS本篇文章主要介绍前两者的Terraform代码实现,现在使用官方的module要比以前方便太多了,哪怕是新手都可以很快的将资源建起来