云原生Kubernetes:K8S集群使用带凭证的harbor仓库

目录

一、理论

1.部署harbor 创建私有项目,使用凭证登录

二、实验

1.部署harbor 创建私有项目,使用凭证登录

三、问题

1.harbor页面无法打开

2.生成harbor 登录凭据资源清单报错

3.tomcat-deployment 资源生成报错


一、理论

1.部署harbor 创建私有项目,使用凭证登录

(1)在docker harbor 上(192.168.204.176)上环境准备

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum install -y yum-utils device-mapper-persistent-data lvm2 
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service
docker version

(2)部署harbor

#上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中
cd /opt
chmod +x docker-compose
mv docker-compose /usr/local/bin/


#部署 Harbor 服务
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

vim +5 /usr/local/harbor/harbor.cfg
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.204.176

cd /usr/local/harbor/
./install.sh

(3)登录harbor,创建项目

/#在 Harbor 中创建一个新项目
(1)浏览器访问:http://192.168.204.176 登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345
(2)输入用户名和密码登录界面后可以创建一个新项目。点击“+项目”按钮
(3)填写项目名称为“david-project”,点击“确定”按钮,创建新项目

(4)每个node节点登录harbor ,上传镜像

#在每个 node 节点配置连接私有仓库(注意每行后面的逗号要添加)
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://XXXXXXXX.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },  
  "insecure-registries": ["https://hub.david.com"]
}

EOF

systemctl daemon-reload
systemctl restart docker



#在每个 node 节点登录 harbor 私有仓库
docker login hub.david.com -u admin -p Harbor12345 

#在一个 node 节点下载 Tomcat 镜像进行推送
docker pull tomcat:8.0.52
docker images

docker tag tomcat:8.0.52 hub.david.com/david-project/tomcat:v1
docker images

docker push hub.david.com/david-project/tomcat:v1

(5) 配置凭据

#查看登陆凭据
#base64 -w 0:进行 base64 加密并禁止自动换行
cat /root/.docker/config.json | base64 -w 0			
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIzLjEwIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfSwKCQkiaHViLmNvbSI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==
#master 节点上 创建 harbor 登录凭据资源清单
vim harbor-pull-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: harbor-pull-secret
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIzLjEwIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfSwKCQkiaHViLmNvbSI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==		#复制粘贴上述查看的登陆凭据
type: kubernetes.io/dockerconfigjson


#创建 secret 资源
kubectl create -f harbor-pull-secret.yaml

#查看 secret 资源
kubectl get secret



#创建资源从 harbor 中下载镜像
cd /opt/demo
vim tomcat-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-tomcat
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: my-tomcat
    spec:
      imagePullSecrets:						#添加拉取 secret 资源选项
      - name: harbor-pull-secret			#指定 secret 资源名称
      containers:
      - name: my-tomcat
        image: hub.david.com/david-project/tomcat:v1		#指定 harbor 中的镜像名
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: my-tomcat
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 31111
  selector:
    app: my-tomcat
#node节点删除之前在 node 节点下载的 Tomcat 镜像
docker rmi tomcat:8.0.52
docker rmi hub.david.com/david-project/tomcat:v1
docker images
#master 节点创建资源
kubectl create -f tomcat-deployment.yaml

kubectl get pods


#查看 Pod 的描述信息,可以发现镜像时从 harbor 下载的
kubectl describe pod my-tomcat-5cbd9896c6-kb62r


#刷新 harbor 页面,可以看到镜像的下载次数增加了

二、实验

1.部署harbor 创建私有项目,使用凭证登录

安装过程可参考之前章节 :

云原生Kubernetes:Kubeadm部署K8S单Master架构-CSDN博客

(1)已安装harbor

查询版本

(2)登录harbor,创建项目

(3)  在一个 node 节点下载 Tomcat 镜像进行推送

 

(4)配置凭证

node节点配置凭证

master 节点上 创建 harbor 登录凭据资源清单

创建 secret 资源

查看 secret 资源

创建资源从 harbor 中下载镜像

node节点删除之前在 node 节点下载的 Tomcat 镜像

master 节点创建资源

查看pod

查看svc

查看 Pod 的描述信息,可以发现镜像时从 harbor 下载的

刷新 harbor 页面,可以看到镜像的下载次数增加了

三、问题

1.harbor页面无法打开

(1)报错

(2)原因分析

harbor未启动

(3)解决方法

启动harbor

Windows桌面进入-终端管理员

输入notepad

选择所有文件

打开hosts

增加如下行:

2.生成harbor 登录凭据资源清单报错

(1)报错

(2)原因分析

登录凭证错误

(3)重新修改

修改前:

修改后:

3.tomcat-deployment 资源生成报错

(1)报错

(2)原因分析

端口范围错误

(3)解决方法

修改nodePort端口为31111

修改前:

修改后:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值