1 在 Ubuntu 22.04 上安装 Helm,您可以按照以下步骤进行操作:

  1. 打开终端。
  2. 添加 Helm 存储库。执行以下命令来下载并安装 Helm 的包管理器软件源列表:
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
  1. 更新 Apt 软件包索引:
sudo apt update
  1. 安装 Helm:
sudo apt install helm
  1. 验证 Helm 是否成功安装。运行以下命令来检查 Helm 版本:
helm version
  1. 安装完成后,您可以使用 Helm 来管理 Kubernetes 的应用程序和发布。确保您已经正确配置了 Kubernetes 集群以供 Helm 使用。

2 部署openebs

在 Kubernetes(k8s)中部署 OpenEBS 可以通过一系列的步骤完成。OpenEBS 是一个开源的存储平台,它提供了一种简单的方法来创建和管理容器化状态应用的持久存储。以下是在 Kubernetes 集群中部署 OpenEBS 的基本步骤:

  1. 前提条件
  • 确保你有一个运行中的 Kubernetes 集群。
  • 你拥有集群管理员权限,可以使用 kubectl 命令。
  • 安装 Helm,这是 Kubernetes 的一个包管理器,可以简化安装和管理 Kubernetes 应用程序。
  1. 添加 OpenEBS Helm 仓库
    使用 Helm 添加 OpenEBS Helm 仓库,并更新本地仓库列表以包含最新的 OpenEBS 图表(chart)。
helm repo add openebs https://openebs.github.io/charts
helm repo update
  1. 安装 OpenEBS
    使用 Helm 在 Kubernetes 集群上安装 OpenEBS。这将设置 OpenEBS 的所有必需组件,包括控制平面和数据平面。
    单节点部署需要,否则pod pending
kubectl taint nodes --all node-role.kubernetes.io/master-
# 使用 wget 或 curl 下载 chart 压缩包
wget https://github.com/openebs/charts/releases/download/openebs-3.9.0/openebs-3.9.0.tgz
# 或者
curl -L -o openebs-3.9.0.tgz https://github.com/openebs/charts/releases/download/openebs-3.9.0/openebs-3.9.0.tgz

# 然后使用 Helm 从本地文件安装
helm install openebs ./openebs-3.9.0.tgz --namespace openebs --create-namespace

这个命令会在一个名为 openebs 的新命名空间中安装 OpenEBS。--create-namespace 标志会创建命名空间(如果它不存在的话)。

  1. 检查安装情况
    安装完成后,检查 OpenEBS 的 pod 是否已经启动并且正在运行。
kubectl get pods -n openebs
  1. 配置存储类
    OpenEBS 提供了多种存储引擎,如 Jiva, cStor, Local PV 等。每种存储引擎都有自己的特点和用例。根据您的需求选择合适的存储引擎,并配置相应的存储类。
kubectl apply -f https://openebs.github.io/charts/examples/<storage-engine>/storageclass.yaml

<storage-engine> 替换为您选择的存储引擎名称。

  1. 使用存储
    一旦存储类配置完成,你可以通过在你的应用部署中指定相应的存储类来创建持久卷。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  storageClassName: <storage-class-name>
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

<storage-class-name> 替换为您在步骤 5 中创建的存储类名称。

这些步骤提供了在 Kubernetes 中部署 OpenEBS 的基本指南。具体的步骤可能会根据您的 Kubernetes 环境和特定的 OpenEBS 版本有所不同。建议查看 OpenEBS 的官方文档获取最新和最详细的安装指南。