k8s部署-19-harbor高可用部署

图片

当我们使用k8s的时候,就不可以避免的会涉及到很多的镜像,那么是不是最好有一个地方能存放这些东西呢?还记得之前写docker系列的时候,有提到一个服务,叫做harbor,他就是存放镜像的,在k8s中,我还还是使用该服务,且扩展下搭建一个高可用的。

图片

harbor架构

从官网找到下面这张图,可以大概的看一下,有一个简单的认知。

图片

软件下载

从公众号“运维家”后台回复“harbor”即可获取软件下载地址。

环境

节点名字
ip地址
node2
192.168.112.131
node3
192.168.112.132

PS:harbor最好找两台独立的服务器来安装,我这里没有足够的服务器,所以在两个worker节点上进行安装了。

上传解压

PS:本步骤需要在两个节点上同时执行;

[root@node2 ~]# tar xf harbor-offline-installer-v1.10.10.tgz
[root@node2 ~]# cd harbor/
[root@node2 harbor]# ls
common.sh  harbor.v1.10.10.tar.gz  harbor.yml  install.sh  LICENSE  prepare
[root@node2 harbor]#

配置修改

PS:本步骤需要在两个节点上同时执行;

[root@node2 harbor]# vim harbor.yml 
# hostname需要修改成本机的地址
hostname: 192.168.112.131
# 密码修改,我在这里就不进行修改了
harbor_admin_password:Harbor12345
# 修改存储磁盘,默认是data,具体根据你服务器来修改,
# 应该放置到最大目录下,我在这里就不修改了
data_volume: /data
# harbordb的密码,我在这里也不进行修改了
password: root123
# 把有关https的全部注释掉
# https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path
[root@node2 harbor]#

安装

PS:本步骤需要在两个节点上同时执行;

PS:安装之前需要先安装docker,此步骤就不写了,有疑惑的同学可以查看往期文章,或者直接公众号“运维家”后台回复“docker安装”,即可查看该内容。

[root@node2 harbor]# pwd
/root/harbor
[root@node2 harbor]# ./install.sh

提示如下内容就表示安装成功了。

图片

访问

使用浏览器分别访问我们两台服务器的harbor界面,地址为:

http://192.168.112.131
http://192.168.112.132

都出现如下界面的时候,就表示我们的harbor安装成功了。

图片

**nginx配置
**

使用nginx做代理,目的是为了访问harbor的方式为高可用,至于如何配置harbor为高可用,下面我们会提到,一步一步来。

首先需要安装nginx,参考往期文章进行安装,安装在我们的节点1上,即原k8s集群中的node1(192.168.112.130)上:

上面的文章中,我们只需要操作到nginx安装成功即可,然后将nginx的配置文件置空,并写入以下内容:

当一个节点down掉之后,只需要修改nginx配置文件,就可以快速的切换到另一个节点。

user  root;
worker_processes  1;
error_log  /usr/local/nginx/logs/error.log warn;
pid        /usr/local/nginx/nginx.pid;

events {
    worker_connections  1024;
}

stream {
    upstream harbor {
       server 192.168.112.131:80;
 #      server 192.168.112.132:80;
    }
    server {
       listen 80;
       proxy_connect_timeout 10s;
       proxy_timeout 300s;
       proxy_pass harbor;
    }
}

然后启动nginx:

[root@node1 nginx]# pwd
/usr/local/nginx
# 检查配置文件是否有问题
[root@node1 nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx//conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx//conf/nginx.conf test is successful
# 启动nginx
[root@node1 nginx]# ./sbin/nginx

验证

通过浏览器访问node1的IP,看下是否可以访问到harbor服务。

http://192.168.112.130

出现了如下界面:

图片

这个时候我们是通过IP地址进行访问的,如果我们想通过域名访问呢?

域名解析

当然是做域名解析最合适了,但是由于我们这里是实验环境,就一切从简,修改hosts文件,来达到这个目的,操作如下:

客户端修改(windows):

打开如下目录:

C:\Windows\System32\drivers\etc

找到hosts文件,右键使用笔记本打开,文件最后新增如下配置:

192.168.112.130 harbor.yunweijia.com

最后保存关闭即可。

linux服务器修改(三台服务器都需要修改):

[root@node1 nginx]# vim /etc/hosts
# 新增如下内容
192.168.112.130 harbor.yunweijia.com
[root@node1 nginx]#

最后浏览器访问验证:

http://harbor.yunweijia.com/

出现如下界面:

图片

haobor高可用

访问node2上的harbor:

http://192.168.112.131/

使用admin/Harbor12345 登录进去,密码如果你修改了,记得使用你自己的密码,登录之后界面如下:

图片

1、他默认有个library的仓库,我们将其删除:

图片

2、然后新建一个k8s的仓库,如下:

图片

图片

点击确定之后,如下图:

图片

3、创建一个用户:
剩余内容请转至VX公众号 “运维家” ,回复 “126” 查看。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

运维家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值