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

【置顶】云计算教程目录


运维基础

自动化集群管理

运维高级

运维开发

Read more

K8S集群新增和删除Node节点


1 新增节点到K8S集群

新增节点可以分为准备节点、配置节点和将其加入集群三步。

1.1 准备新节点

准备一个相同操作系统的主机作为新节点。需要安装相同版本的kubeadm。

安装步骤参考Ubuntu部署 Kubernetes1.23

需要注意的点:

(1)hosts文件配置 每个节点的hosts保持一致

[root@master~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.lo...

Read more

Ingress 和 Service 的异同点


在 Kubernetes 中,Ingress 和 Service 都是用于管理和暴露应用流量的重要组件。下面从多个维度详细分析它们的异同点、特性、使用场景和配置方法。

1. 概念与作用

1.1 Ingress

Ingress 是什么?

Ingress主要负责七层负载,将外部 HTTP/HTTPS 请求路由到集群内部的服务。它可以基于域名和路径定义规则,从而将外部请求分配到不同的服务。

图片

ingress作用

  • 提供 基于 HTTP/HTTPS 的路由。
  • 支持 TLS 终止(HTTPS)。
  • 为集群内部...

Read more

Kubernetes数据存储相关概念


1. 存储卷概述

存储卷(Volume) 是一个抽象层,是定义在Pod资源之上,表示可以被容器挂载的存储资源。每个容器都可以通过卷来持久化或共享数据。存储卷的生命周期由 Pod 控制,Pod 被销毁时,相关的卷也会被销毁(除非是持久化存储卷)。

img

Kubernetes 中的存储卷有以下几个关键特性:

  • 生命周期:与 Pod 生命周期相同。Pod 启动时,存储卷被挂载到容器中,Pod 销毁时,存储卷也随之销毁(但对于持久化存储卷,存储内容会被保留)。
  • 数据共享:多个容器可以挂载同一个存储卷,从而实现...

Read more

Kubernetes准入控制器


k8s的整体认证过程分为3步,本别是认证授权准入控制。认证和授权都是工作在短路模式,而准入控制是非短路模式,但拥有一票否决权力,如果其中任何一个准入插件拒绝那其操作就无法执行,但是它会继续向下执行直到检查完每一个准入插件以确保能分析出有哪些步骤发生错误。

k8s支持的准入控制器有数十种之多,但是有3个非常关键:

  • limitranger: 为Pod添加默认的计算资源需求和计算资源限制;以及存储资源需求和存储资源限制;支持分别在容器和Pod级别进行限制;
  • resourcequota:限制资源数量...

Read more

Kubernetes授权机制之RBAC


RBAC 介绍

在 Kubernetes 中,所有资源对象都是通过 API 进行操作,他们保存在 etcd 里。而对 etcd 的操作我们需要通过访问 kube-apiserver 来实现,上面的 Service Account 其实就是 APIServer 的认证过程,而授权的机制是通过 RBAC:基于角色的访问控制实现。

在 Kubernetes 的1.21.2版本上默认使用的是Node和RBAC。

# kubeadm部署的k8s可以在/etc/kubernetes/manifests下查看到静态...

Read more

Kubernetes自建账号及认证


X509认证

1.创建出用户的私钥

# 创建放用户证书的目录
root@k8s-master01:~# cd /etc/kubernetes
root@k8s-master01:/etc/kubernetes# mkdir usercerts
root@k8s-master01:/etc/kubernetes# cd usercerts/

# 创建一个私钥
root@k8s-master01:/etc/kubernetes/usercerts# (umask 077; openssl genrsa ...

Read more

KubeConfig配置文件介绍


k8s在部署完毕以后一定会复制一个配置文件/etc/kubernetes/admin.conf,此文件中保存了当前API-Server中一个管理员账号的用户名、密码等相关信息。此文件有特定组织格式的文件。

/etc/kubernetes目录下的所有conf文件都有类似的格式,只不过他们都是被k8s上不同的组件所使用的。

root@k8s-master01:~# ls /etc/kubernetes/
admin.conf  controller-manager.conf  kubelet.conf...

Read more

K8S之Helm部署Prometheus


概述

  • 本文采用helm安装Prometheus+Grafana
  • 配置alertmanager及告警规则实现邮件报警。
  • 其中所采用的helm仓库及chart包如下所示:
# helm仓库
grafana: https://grafana.github.io/helm-charts
prometheus-community: https://prometheus-community.github.io/helm-charts

# chart包
grafana/grafana
prometheus-c...

Read more

kafka实现海量数据下的EFK架构优化升级


一、数据背景

在海量数据场景下,日志管理和分析是一项重要任务。为了解决这个问题,EFK 架构(Elasticsearch + Fluentd + Kibana)已经成为流行的选择。

然而,随着数据规模的增加,传统的 EFK 架构可能面临性能瓶颈和可用性挑战。为了提升架构的性能和可伸缩性,我们可以结合 Kafka 和 Logstash 对 EFK 架构进行优化升级。

首先,引入 Kafka 作为高吞吐量的消息队列是关键的一步。Kafka 可以接收和缓冲大量的日志数据,减轻 Elasticsearch 的...

Read more