第十二章 九析带你轻松完爆 helm3 harbor

本系列文章:

第一章:helm 一分钟轻松完爆

第二章:helm 轻松完爆公共仓库

第三章:helm 轻松完爆私有仓库

第四章:helm 轻松完爆 chart

第五章:helm 轻松完爆 release

第六章:九析带你轻松完爆 helm gitlab

第七章:九析带你轻松完爆 helm nginx-ingress

第八章:九析带你轻松完爆 helm gitlab nfs

第九章:九析带你轻松完爆 helm nexus

第十章:九析带你轻松完爆 helm3 heapster

第十一章:九析带你轻松完爆 helm3 kubernetes-dashboard

目录

1 前言

2 添加 harbor 仓库

3 下载 harbor

4 解压 harbor

5 编辑 values.yaml

6 编写 pv

7 创建 nginx-ingress

8 创建 nfs

9 创建 harbor 命名空间

10 安装 harbor

11 创建 pv

12 检查 pvc

13 查看 nginx-ingress 服务端口

14 编辑 dns

15 访问 harbor

16 注意


1 前言

        本文采用 helm v3.0.0;k8s v1.16.3。


2 添加 harbor 仓库

helm repo add harbor https://helm.goharbor.io


3 下载 harbor

helm pull harbor/harbor


4 解压 harbor

tar -zxvf harbor-1.2.3.tgz


5 编辑 values.yaml

        编辑如下:

expose:

  tls:

    commonName: "jiuxi.harbor.org"

  ingress:

    hosts:

      core: jiuxi.harbor.org


externalURL: https://jiuxi.harbor.org


harborAdminPassword: "hellojiuxi"


6 编写 pv

        本文不介绍 pv 和 pvc,相信你敢玩 helm,应该不算新手。如果你真不知道 pv 和 pvc 也没有关系;可以把它们理解为情侣关系,即 pvc 一定要 c 了 pv 才愿意干活,当然不能白 c,要给“钱”, pv 收到钱会存到某个地方,比如鞋盒。理解了没?不用谢。

        查看 values.yaml 文件,发现 pvc 一共有 5 个。并且有 2 种规格:A杯(1Gi)、 C杯(5Gi)

clipboard1.png

        新建资源文件  pv-harbor-1g.yaml。不要执行。切记。

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-1

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-2

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-1g-3

spec:

    capacity:

        storage: 1Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

        新建资源文件  pv-harbor-5g.yaml。不要执行。切记。

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-5g-1

spec:

    capacity:

        storage: 5Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor

---

apiVersion: v1

kind: PersistentVolume

metadata:

    name: pv-harbor-5g-2

spec:

    capacity:

        storage: 5Gi

    volumeMode: Filesystem

    accessModes:

    -  ReadWriteOnce

    persistentVolumeReclaimPolicy: Retain

    nfs:

        server: 10.110.101.106

        path: /data/nfs/harbor


7 创建 nginx-ingress

        创建 nginx-ingress 请参考《第七章》。不用紧张,分分钟轻松完爆。


8 创建 nfs

        创建 nfs 请参考《第八章》。不用紧张,容易到让你尖叫。


9 创建 harbor 命名空间

kubectl create ns harbor


10 安装 harbor

## 第一个 harbor 是 release;第二个是命名空间;第三个是解压后根目录

helm install harbor -n harbor harbor


11 创建 pv

        harbor 安装成功之后,pvc 会处于 pending 状态。因为并没有创建实际的 pv。

clipboard2.png

        注意创建顺序,规格要按照从小到大。为什么?你想一想,死劲想一想。

        创建小规格 pv:

kubectl apply -f pv-harbor-1g.yaml

        小规格 pv 创建结束后,注意查看一下创建状态,等到状态都为 Bound 后,再创建大规格 pv:

kubectl apply -f pv-harbor-5g.yaml


12 检查 pvc

kubectl get pvc -n harbor

clipboard3.png


13 查看 nginx-ingress 服务端口

        注意端口不是 443。切记。本人是 32734。各人根据自己实际情况。

kubectl get svc -n kube-system

clipboard4.png


14 编辑 dns

        创建 ingress 时使用了域名 jiuxi.harbor.org。所以在浏览器所在主机上编辑 hosts 文件。

clipboard5.png


15 访问 harbor

        打开浏览器,输入 https://jiuxi.harbor.org:32734。

clipboard6.png

        用户名 / 密码: admin / hellojiuxi。


16 注意

        有时会有正确输入用户名和密码却无法登录的情况,原因在于 pod 并没有全部运行成功,必须确保所有 pod 都运行成功了再强势登录。

猜你喜欢

转载自blog.51cto.com/14625168/2459461