也是没谁了,有底稿,gpt润色,都不行,都啥年代了,写文章还要纯手写,原始社会吗

底稿

# open-local
只需在master节点安装open-local

## 项目地址

https://github.com/alibaba/open-local


## helm安装

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash


## open-local安装
下载open-local代码,当前doc目录下的open-local-0.7.1.tar.g文件

```shell
cd open-local-0.7.1
helm install open-local ./helm

安装成功后会安装以下pod

kube-system   open-local-agent-rw888                           3/3     Running     0             27d
kube-system   open-local-agent-vfzdz                           3/3     Running     0             27d
kube-system   open-local-agent-xtl72                           3/3     Running     0             27d
kube-system   open-local-controller-66bd46476f-rgxxx           6/6     Running     0             27d
kube-system   open-local-init-job-97n5b                        0/1     Completed   0             27d
kube-system   open-local-init-job-kz4d8                        0/1     Completed   0             27d
kube-system   open-local-init-job-wmp4l                        0/1     Completed   0             27d
kube-system   open-local-scheduler-extender-64558d9c48-vjj7g   1/1     Running     0             27d

nlsc配置

nlsc为存储池配置,open-local安装完成后会创建命名为open-local的nlsc

kubectl get nlsc

NAME         AGE
open-local   27d

日常维护配置

nlsc配置

新增一个机型时,为其加入nodesConfig配置

注意:执行时nodesConfig会覆盖原有配置,需要在原nodesConfig的基础上,
追加新机型信息是在执行yaml,追加前先将原有yaml备份一份

kubectl apply -f nlsc-open-local.yaml

apiVersion: csi.aliyun.com/v1alpha1
kind: NodeLocalStorageInitConfig
metadata:
  name: open-local
spec:
  nodesConfig:
  - selector:
      matchExpressions: # 机型打标信息
      - key: device-type # 机型1
        operator: In
        values:
        - "edcps.s2.normal"
    listConfig:
      vgs:
        include:
        - open-local-pool-[0-9]+
    resourceToBeInited:
      vgs:
      - name: open-local-pool-0
        devices: # 两个盘符组卷组
        - /dev/sdb
        - /dev/sdc
  - selector:
      matchExpressions:
      - key: device-type # 机型2
        operator: In
        values:
        - "edcps.s2.normal-2"
    listConfig:
      vgs:
        include:
        - open-local-pool-[0-9]+
    resourceToBeInited:
      vgs:
      - name: open-local-pool-0
        devices:
        - /dev/nvme0n1

Node打标

新加入的node节点,需要为其打标device-type

K8s-node1打标:
kubectl label nodes k8s-node1 device-type=edcps.s2.normal
k8s-node2 打标:
kubectl label nodes k8s-node1 device-type=edcps.s2.normal-2

## gpt润色后

通过open-local实现Kubernetes本地盘PVC

概述

open-local是由阿里巴巴开源的一款针对Kubernetes设计的CSI(Container Storage Interface)插件,旨在提供对本地存储的支持。它允许用户在Kubernetes集群中使用节点上的本地磁盘作为持久卷(Persistent Volumes, PV),并通过持久卷声明(Persistent Volume Claims, PVC)来动态分配和管理这些资源。这为需要高性能存储的应用提供了可能,同时简化了本地存储的管理和维护。

项目地址

Open-Local GitHub

安装前准备

在开始安装之前,请确保Kubernetes集群满足以下条件:

  • Kubernetes版本 >= 1.16
  • 已启用RBAC(基于角色的访问控制)
  • 节点上已经挂载了可用的本地磁盘,并且没有被其他服务占用

安装Helm

Helm是Kubernetes的包管理工具,用于简化应用部署。如果还没有安装Helm,可以通过以下命令进行安装:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3  bash

安装Open-Local

下载并解压Open-Local代码

首先,需要下载Open-Local的发布版本。根据需求选择合适的版本,例如0.7.1

wget https://github.com/alibaba/open-local/releases/download/v0.7.1/open-local-0.7.1.tar.gz
tar -xzf open-local-0.7.1.tar.gz
cd open-local-0.7.1

使用Helm安装Open-Local

进入解压缩后的目录后,可以使用Helm来安装Open-Local

helm install open-local ./helm

注意:默认情况下,Open-Local只会安装在master节点上。如果希望在所有节点上安装,请调整Helm图表中的相关配置。

验证安装

安装完成后,可以检查Open-Local相关的Pod是否正常运行

kubectl get pods -n kube-system -l app=open-local

预期输出应类似于:

NAME                                         READY   STATUS      RESTARTS   AGE
open-local-agent-rw888                        3/3     Running     0          27d
open-local-agent-vfzdz                        3/3     Running     0          27d
open-local-agent-xtl72                        3/3     Running     0          27d
open-local-controller-66bd46476f-rgxxx        6/6     Running     0          27d
open-local-init-job-97n5b                     0/1     Completed   0          27d
open-local-init-job-kz4d8                     0/1     Completed   0          27d
open-local-init-job-wmp4l                     0/1     Completed   0          27d
open-local-scheduler-extender-64558d9c48-vjj7g 1/1    Running     0          27d

NodeLocalStorageClass (nlsc) 配置

Open-Local安装后会自动创建一个名为open-local的NodeLocalStorageClass(nlsc)。这个资源定义了如何初始化和管理节点上的本地存储资源。可以查看当前的nlsc配置;
kubectl get nlsc

添加新的机型配置

当需要为集群添加新的节点类型时,应该相应地更新nlsc配置以包含新节点的信息。由于直接修改nlsc会导致覆盖现有配置,建议先备份现有的配置文件,然后在其基础上进行修改。

备份现有配置
kubectl get nlsc open-local -o yaml > nlsc-open-local.yaml.bak
修改配置

编辑nlsc-open-local.yaml文件,追加新的节点配置。例如

apiVersion: csi.aliyun.com/v1alpha1
kind: NodeLocalStorageInitConfig
metadata:
  name: open-local
spec:
  nodesConfig:
  - selector:
      matchExpressions:
      - key: device-type # 机型1
        operator: In
        values:
        - "edcps.s2.normal"
    listConfig:
      vgs:
        include:
        - open-local-pool-[0-9]+
    resourceToBeInited:
      vgs:
      - name: open-local-pool-0
        devices:
        - /dev/sdb
        - /dev/sdc
  - selector:
      matchExpressions:
      - key: device-type # 机型2
        operator: In
        values:
        - "edcps.s2.normal-2"
    listConfig:
      vgs:
        include:
        - open-local-pool-[0-9]+
    resourceToBeInited:
      vgs:
      - name: open-local-pool-0
        devices:
        - /dev/nvme0n1
应用更新后的配置
kubectl apply -f nlsc-open-local.yaml

Node打标

为了让Open-Local能够正确识别和初始化新加入的节点,需要为这些节点打上相应的标签。例如

K8s-node1打标

kubectl label nodes k8s-node1 device-type=edcps.s2.normal

K8s-node2打标

kubectl label nodes k8s-node2 device-type=edcps.s2.normal-2

日常维护与监控

监控健康状态

定期检查Open-Local组件的状态,确保它们都在正常运行。可以使用Kubernetes的内置命令或集成Prometheus等监控系统来获取更详细的指标。

日志分析

通过查看Open-Local的日志,可以帮助诊断问题并了解系统的运行情况。日志通常位于每个组件的Pod中,可以通过kubectl logs命令来访问。

性能调优

根据应用的需求,可能需要调整Open-Local的配置参数以优化性能。例如,可以调整卷组的大小、选择不同的磁盘类型等。

扩展功能

Open-Local还支持一些高级功能,如快照、克隆等。如果应用场景需要这些特性,可以参考官方文档进一步探索。

最佳实践

  • 规划磁盘布局:在部署之前,仔细规划好各个节点的磁盘布局,确保不会影响到其他服务。
  • 保持版本同步:尽量保持Open-Local与Kubernetes版本的一致性,以便利用最新的特性和修复。
  • 测试环境先行:任何重要的配置更改都应在测试环境中充分验证后再推广到生产环境。
  • 文档化变更:记录所有的配置更改和操作,便于后续的审计和故障排查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件架构师笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值