Kubernetes基于helm安装 harbor

Kubernetes基于helm安装 harbor

之前harbor的安装都是借助docker完成一键安装部署,安装完成之后harbor组件均运行到一台机器上面,本文实践harbor在k8s环境中的部署。

准备工作

根据harbor官方要求:

  • Kubernetes cluster 1.20+
  • Helm v3.2.0+

结合ingress-nginx版本要求,建议K8S版本大于1.21.0-0进行实践。

部署一套K8S环境

本文使用的k8s环境如下:

# k8s版本及环境信息
root@master1:~# kubectl get node -o wide
NAME      STATUS   ROLES           AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE           KERNEL-VERSION     CONTAINER-RUNTIME
master1   Ready    control-plane   25h   v1.28.2   192.168.0.61   <none>        Ubuntu 24.04 LTS   6.8.0-36-generic   containerd://1.7.12
node1     Ready    <none>          25h   v1.28.2   192.168.0.62   <none>        Ubuntu 24.04 LTS   6.8.0-36-generic   containerd://1.7.12
node2     Ready    <none>          25h   v1.28.2   192.168.0.63   <none>        Ubuntu 24.04 LTS   6.8.0-36-generic   containerd://1.7.12

# 操作系统信息
root@master1:~# cat /etc/issue
Ubuntu 24.04 LTS \n \l

root@master1:~# uname -a
Linux master1 6.8.0-36-generic #36-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 10 10:49:14 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

# helm版本
root@master1:~# helm version
version.BuildInfo{
   Version:"v3.15.2", GitCommit:"1a500d5625419a524fdae4b33de351cc4f58ec35", GitTreeState:"clean", GoVersion:"go1.22.4"}

部署openebs用于提供pv

参考我的另外一篇文章部署openebs,《Kubernetes云原生存储解决方案openebs部署实践-3.10.0版本(helm部署)》

本文部署的openebs信息如下:

root@master1:~# helm ls -n openebs
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
openebs openebs         1               2024-07-02 14:38:40.928808834 +0800 CST deployed        openebs-4.0.1   4.0.1
root@master1:~# kubectl get pod -n openebs
NAME                                              READY   STATUS    RESTARTS   AGE
openebs-localpv-provisioner-6b8bff68bd-vmwp7      1/1     Running   0          121m
openebs-lvm-localpv-controller-778b75449c-mmvw6   5/5     Running   0          121m
openebs-lvm-localpv-node-d2trc                    2/2     Running   0          121m
openebs-lvm-localpv-node-md5wh                    2/2     Running   0          121m
openebs-zfs-localpv-controller-6665568c7c-snw4q   5/5     Running   0          121m
openebs-zfs-localpv-node-mc8tv                    2/2     Running   0          121m
openebs-zfs-localpv-node-w6nns                    2/2     
### 通过 Helm 安装 Harbor 并设置命名空间 为了通过 Helm 安装 Harbor 并将其部署到特定的命名空间 `har` 中,以下是详细的说明和操作方法: #### 准备工作 首先需要下载并解压 HarborHelm Chart 源码。可以通过以下命令完成此步骤: ```bash wget https://github.com/goharbor/harbor-helm/archive/refs/tags/v1.6.2.tar.gz tar -zxvf v1.6.2.tar.gz cd harbor-helm-1.6.2 ``` 这一步骤基于提供的源码地址[^3]。 #### 创建目标命名空间 在 Kubernetes 集群中创建名为 `har` 的命名空间,如果该命名空间尚未存在,则运行以下命令: ```bash kubectl create namespace har ``` #### 自定义配置文件 HarborHelm Chart 提供了一个默认的 values 文件用于自定义安装选项。可以根据需求编辑这个文件来满足具体环境的要求。例如启用 HTTPS 或者集成其他服务(如 ChartMuseum)。 假设需要支持 Helm Charts 功能以及 HTTPS 访问,可以在安装时传递额外参数或者直接修改 `values.yaml` 文件中的相关内容。对于 HTTPS 设置部分,可以参考如下示例配置[^5]: ```yaml expose: tls: enabled: true secretName: harbor-tls-secret ``` 这里需要注意的是 TLS 密钥对应该提前准备好并通过 Kubernetes Secret 对象导入集群中。 #### 执行 Helm 安装命令 最后执行实际的 Helm 命令来进行安装,同时指定刚刚创建好的命名空间 `har` 和任何必要的覆盖值路径或内联参数。完整的命令可能看起来像这样: ```bash helm install my-release . --namespace=har \ --set expose.tls.enabled=true \ --set expose.tls.secretName=harbor-tls-secret \ --set persistence.persistentVolumeClaim.registry.storageClass="your-storage-class" ``` 上述命令中包含了几个重要的定制化选项,比如启用了 TLS 加密通信,并指定了存储类以适配不同的持久化卷供应策略。 以上过程综合考虑了多个方面的配置要点,包括但不限于安全性增强措施、网络暴露方式调整等方面的内容。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lldhsds

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

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

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

打赏作者

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

抵扣说明:

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

余额充值