分类目录归档:云计算

K8S 中的有状态和无状态?


Kubernetes 中的有状态和无状态?

Kubernetes 中,无状态(Stateless)有状态(Stateful)是描述应用行为和架构的两个重要概念。

它们对于如何设计、部署和管理应用程序在 Kubernetes 集群中的行为至关重要。

img

无状态

无状态应用(Stateless Applications):无状态应用是指那些不依赖于任何特定实例状态的应用程序。这意味着无论何时何地启动应用实例,它们都能以相同的方式运行,并且不依赖于之前的执行状态。

无状态应用通常易于扩展,因为它们可以被随意地复制和销毁,而不会丢失数据或状态。

无状态应用的特点:

1、可替换性:实例之间没有...

Read more

K8S部署策略


Kubernetes 部署策略

随着市场的快速发展,产研团队需要更快迭代需求、更高频发布变更。但由于无法完全模拟线上流量和真实场景,频繁发布可能导致整个系统风险。当出现一个小问题,就可能导致服务的可用性受损、用户体验甚至客户服务受到影响。而随着云技术和基础架构的成熟,发布过程中可以通过引入相应的发布策略,能让我们在早期实验阶段就可以发现、调整问题,来保证整体系统的稳定性。

目前常见的发布策略有蓝绿发布红黑发布金丝雀(灰度)发布滚动发布等。

不同的发布策略及特点介绍

蓝绿发布

概念定义:蓝绿发布是一种以最小的停机时间做服务升级的策略。需要维护的两个版本的环境分别称为 “蓝环境” 和 ...

Read more

StorageClass


一.StorageClass持久化存储介绍

1.是什么

StorageClass又称为PV动态供给,是k8s1.4之后引入的一个新资源,主要实现了存储卷PV按需创建,动态创建。一旦有pvc资源,storageclass会自动创建pv

2.为什么用

以前静态的PV和PVC都需要手动来创建,因为pv和pvc一一对应,一个pv一旦被绑定就不会再被其他pvc绑定,因此当pvc逐渐增多,pv也会同比增加,这时候就需要自动创建pv,就要用到stroageclass

3.和pv、pvc关系

  • StorageClass创建的pvc,只要pvc不删除,即使控制器删除、pod删除重建还是会找到原来的pvc,...

Read more

PDB-Pod中断保持


PDB

Pod Disruption Budget (PDB) Pod 是 Kubernetes 中用于控制应用程序在执行干扰性操作(如节点维护、升级等)时的可用性的一种机制。PDB 允许用户定义在这些操作期间可以容忍的 Pod 中断数量,从而确保应用程序的高可用性。

主要用途

  1. 确保高可用性:通过限制同时中断的 Pod 数量,确保应用程序在维护期间仍然有足够的副本运行,从而维持服务的可用性。
  2. 控制干扰操作的影响:在执行如节点维护、升级等干扰性操作时,PDB 可以限制这些操作对应用程序的影响,防止服务中断。

关键概念

  1. Pod 中断:Pod 中断是指 Pod 被驱逐或删除,这可能由于节...

Read more

k8s资源限制


在Kubernetes中,Namespace的资源限制主要通过两种资源对象实现:

ResourceQuota(资源配额)和LimitRange(限制范围)。它们共同作用于Namespace级别,用于控制资源使用、防止资源滥用,并确保集群资源的合理分配。

1. ResourceQuota(资源配额)

ResourceQuota 用于限制整个Namespace可使用的总资源量对象数量,防止单个Namespace过度占用集群资源。它可以限制的内容包括:

  • 计算资源总量(CPU、内存的请求和限制)
  • 存储资源总量(PVC的存储请求)
  • 可创建的对象数量(如Pod、Service、ConfigM...

Read more

Elasticsearch快速入门


一、Elasticsearch

1.1 什么是 Elasticsearch?

Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。简单来说只要涉及搜索和分析相关的, ES 都可以做。

图片

1.2 Elasticsearch 的用途?

Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:

  • 比如一个在线网上商店,您可以在其中允许客户搜索您出售的产品。在这种情况下,您可以使用 Elasticsearch 存储整个产品目录和库存,并为它们提供搜索和自动完...

Read more

k8s面试题大全


K8S面试题

一、Kubernetes 基础知识面试题10 道面试题

1、什么是 Kubernetes?

Kubernetes 是一个开源容器管理工具,负责容器部署,容器扩缩容以及负载平衡。它提供了出色的社区,并与所有云提供商合作。因此,我们可以说 Kubernetes 不是一个容器化平台,而是一个多容器管理解决方案。

2、Kubernetes 与 docker 什么关系?

Docker 提供容器的生命周期管理,Docker 镜像构建运行时容器。但是,由于这些单独的容器必须通信,因此使用 Kubernetes。因此,我们说 Docker 构建容器,这些容器通过 Kubernetes 相互...

Read more

二进制安装k8s-1.24.1 Centos版


二进制安装Kubernetes(k8s)双栈 (三主俩从)

1.环境

主机名称 IP地址 说明 软件
Master01 192.168.8.81 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、
kubelet、kube-proxy、nfs-client、haproxy、keepalived
Master02 192.168.8.82 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、
kubelet、...

Read more

二进制安装Kubernetes(k8s)v1.24.1 Ubuntu版本


二进制安装Kubernetes(k8s) v1.24.1 Ubuntu版本

1.环境

主机名称 IP地址 说明 软件
Master01 192.168.8.11 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、
kubelet、kube-proxy、nfs-client、haproxy、keepalived
Master02 192.168.8.12 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、...

Read more

使用Docker部署ELK


ELK日志收集平台

ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。

图片

日志收集平台有多种组合方式:

  • ELK Stack 方式:Elasticsearch + Logstash + Filebeat + Kibana,业界最常见的架构。

    Elasticsearch + Logstash + Kafka + Kibana,用上了消息中间件,但里面也有很多坑。

这次先讲解 ELK Stack 的方式,这种方式对我们的代码无侵入,核心思想就是收集磁盘的日志文件,然后导入到 Elasticsearch。

比如我们的应用系统通过 logback ...

Read more