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

本系列文章:
nginx

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

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

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

第四章:helm 轻松完爆 chartapp

第五章:helm 轻松完爆 releaseide

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

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

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

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

第十章:九析带你轻松完爆 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 都运行成功了再强势登陆。

相关文章
相关标签/搜索