环球通讯!Kubernetes 部署 Harbor

2022-12-26 17:28:05 来源:51CTO博客

helm 部署

项目地址

​​Releases · helm/helm (github.com)​​

安装流程

[root@k8s-master2 ~]# mkdir helm[root@k8s-master2 ~]# cd helmtar zxvf helm-v3.5.4-linux-amd64.tar.gz cp -av linux-amd64//helm  /usr/local/bin/helm helphelm create nginx helm repo listhelm repo add stable http://mirror.azure.cn/kubernetes/chartshelm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/chartshelm repo list

安装NFS

所有节点安装NFS客户端

yum install -y nfs-utils

选择一台做nfs server

进行如下配置(这里选择40.181节点):


(资料图片)

创建根目录
mkdir -p /mnt/nfs复制代码
编辑
vim /etc/exports/mnt/nfs/ 192.168.40.0/24(rw,sync,fsid=0)复制代码
同192.168.0.0/24一个网络号的主机可以挂载NFS服务器上的/mnt/nfs/目录到自己的文件系统中rw表示可读写sync表示同步写fsid=0表示将/mnt找个目录包装成根目录启动nfs服务
systemctl start rpcbind.servicesystemctl start nfs-server.service复制代码
设置开机自启
systemctl enable rpcbind.servicesystemctl enable nfs-server.service复制代码
使用配置生效
exportfs -r复制代码
查看挂载情况
exportfs

本次使用nfs 做存储

PV 动态供给(StorageClass)

支持动态供给的存储插件:​​​​https://kubernetes.io/docs/concepts/storage/storage-classes/​​

(1)添加仓库

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner

(2)更新仓库

helm repo update

(3)下载到本地

helm pull  nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --untar

(4)修改values

repository: dyrnq/nfs-subdir-external-provisioner  tag: v4.0.2  pullPolicy: IfNotPresentimagePullSecrets: []nfs:  server: 192.168.40.181  path: /mnt/nfs

(5)安装

helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/

改变默认 StorageClass

(1)列出你的集群中的 StorageClasses:

kubectl get storageclass

(2)标记一个 StorageClass 为默认的:

kubectl patch storageclass nfs-client -p "{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}"

Harbor

前提已部署ingress

参考

​​部署Ingress Controller1.31 以及使用案例_赵承胜博客的技术博客_51CTO博客​​

添加 Harbor Helm Chart 仓库,并将 Helm Chart 下载到本地。

helm repo add harbor https://helm.goharbor.iohelm pull  harbor/harbor --untar

编辑 harbar/values.yaml 文件:

设置 HTTPS 证书的域名。修改 externalURL,表示外部客户端访问 Harbor 的地址。修改存储类名称storageClass: "nfs-client" (之前我们创建的存储类)

☆ (部署之前接的删除之前部署的pvc )

accessMode: ReadWriteMany # 卷的访问模式,需要修改为ReadWriteMany,允许多个组件读写,否则有的组件无法读取其它组件的数据

执行下面命令在 cloudnative-lab 命名空间部署 Harbor。

helm install harbor harbor

服务验证

访问

https://core.harbor.domain用户 admin  密码如下:cat harbor/values.yaml | grep 123harborAdminPassword: "Harbor12345"

WebUI 上传 Helm Charts

首先新建一个项目名为 demo。

从 Helm Chart 仓库 找一个别人分享的 Helm Chart,这里我选择一个 Kafka Helm Chart。

仓库地址​​https://artifacthub.io/​​

使用以下命令拉取 Kafka Helm Chart。

helm repo add bitnami https://charts.bitnami.com/bitnamihelm pull bitnami/kafka

在 Harbor 界面选择 Kafka Helm Chart 的压缩文件,点击上传。

Helm Charts 上传成功后,就可以看到相关信息,包括: Chart 版本号、状态、作者、模板引擎、创建时间等信息。

添加 harbor helm 仓库

因为我们的 HTTPS 证书是自签名证书,在添加仓库的时候需要带上 ca.crt,如果是受信任的第三方 CA 签名的证书则无需此步骤。点击注册证书下载 ca.crt 文件。

添加仓库 ,安装kafka

helm repo add   --ca-file ca.crt  --username=admin --password=Harbor12345 myrepo https://core.harbor.domain/chartrepo/demohelm repo listhelm install kafka --ca-file=ca.crt --username=admin --password=Harbor12345 myrepo/kafka

标签: 命名空间 模板引擎 访问模式

上一篇:天天快消息!Prometheus监控之pushgateway安装配置
下一篇:精彩看点:#yyds干货盘点# 名企真题专题:编码