作者文章归档:zuojie@88.com

K8S部署策略


Kubernetes 部署策略

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

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

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

蓝绿发布

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

Read more

StorageClass


StorageClass

在 Kubernetes 中,StorageClass 是用于定义不同类型的存储卷的资源对象。通过 StorageClass,用户可以定义存储的类型、访问模式、回收策略等,使得 Kubernetes 能够动态地配置和分配存储资源。StorageClass 使得集群管理员可以根据应用程序的需求,灵活地配置和分配存储资源,而无需为每个 PersistentVolume 手动定义存储配置。

主要用途

  1. 动态存储配置:允许 Kubernetes 自动创建和配置存储卷,而不需要手动创建 PersistentVolume
  2. 存储类型管理:定义不同类型的存储(如 NFS、Ce...

Read more

PDB-Pod中断保持


PDB

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

主要用途

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

关键概念

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

Read more

k8s资源限制


Resource Quotas

Resource Quotas 是 Kubernetes 中用于限制命名空间中资源消耗的机制。通过 Resource Quotas,集群管理员可以对命名空间中的资源使用量进行细粒度的控制,从而避免某个命名空间中的资源消耗过多,影响其他命名空间的正常运行。

主要作用

1.限制资源使用:确保命名空间中的 Pod、容器或其他资源不会超过预设的资源限制,避免资源过度消耗。

2.公平分配资源:通过资源限制,确保不同命名空间之间资源的公平分配。

3.防止滥用:防止用户或应用程序滥用资源,从而影响整个集群的稳定性和性能。

主要配置

Resource Quotas 可以限...

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

使用Docker搭建网页版VScode


使用Docker搭建网页版VScode

系统介绍

code-server 是一个基于 Visual Studio Code(VSCode)的开源项目,它允许用户通过 Web 浏览器来使用 VSCode 的编辑功能。这意味着,只要有浏览器和网络连接,用户就可以在任何设备上访问和使用 VSCode,而无需在本地安装开发环境。

code-server 的特点

  • 绿色安装:code-server 可以通过压缩包解压运行,不需要直接安装,相比软件包安装的方式更加绿色。
  • 一次部署,终身开箱即用:由于其绿色安装的特性,code-server 可以将相关配置和插件安装在指定路径,方便迁移和复用。
  • 服务器...

Read more