K8s harbor仓库部署

环境准备

1.停止firewalld防火墙
systemctl stop firewalld
systemctl disable firewalld

2.关闭setenforce
setenforce 0
vim /etc/selinux/config
SELINUX=disabled

3.设置主机名
echo "local_ip hub.lwh.com" > /etc/hosts

4.升级系统内核
略

5.安装docker
yum install -y docker-ce docker-ce-cli containerd.io

6.修改配置
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "insecure-registries": ["https://hub.lwh.com"]
}
EOF

7.k8s集群添加hosts
echo "192.168.2.43 hub.lwh.com" >> /etc/hosts

安装Harbor

1.下载数据包
https://github.com/goharbor/harbor/releases

2.解压并安装
tar zxf harbor-offline-installer-v2.4.1.tgz

3.修改配置
$ cp harbor.yml.tmpl harbor.yml

$ vim harbor.yml
hostname: hub.lwh.com   // IP或域名
http/https     // 端口
certificate     // 证书
private_key   // 密钥
harbor_admin_password    //登录密码

4.docker-compose
cp docker-compose /usr/local/bin
chmod +x /usr/loca/bin/docker-compose

5.第一次启动harbor
./install.sh


6.停止/启动 harbor
docker-compose stop
docker-compose up -d 

创建证书

https://blog.csdn.net/zhaosongbin/article/details/90486034
1.设置私钥密码
openssl genrsa -des3 -out harbor.key 2048
# 输入密码,确认密码

2.创建服务器证书申请文件harbor.csr
openssl req -new -key harbor.key -out harbor.csr
# 输入私钥密码
# 输入国家
# 输入省
# 输入城市
# 输入组织 
# 输入机构
# 输入域名
# 输入电子邮件
其余回车

3.备份一份服务器密钥文件
cp harbor.key harbor.key.org

4.去除文件口令
openssl rsa -in harbor.key.org -out harbor.key
# 输入密钥文件

5.创建一个自当日起为期10年的证书harbor.crt
openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt

访问测试

1.使用IP登录访问
账户:admin/Harbor12345

2.在node节点上登录harbor
docker login hub.lwh.com
harbor用户密码

3.上传镜像
docker pull nginx
docker tag nginx:latest hub.lwh.com/library/nginx:v1
docker push hub.lwh.com/library/nginx:v1

4.可以在浏览器查看
略

5.在master节点上删除之前nginx资源,创建pod测试
kubectl delete deployment nginx
kubectl run nginx-deployment --image=hub.lwh.com/library/nginx:v1 --port=80 --replicas=3