云原生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 <

(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

查询版本

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第1张图片

(2)登录harbor,创建项目

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第2张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第3张图片

(3)  在一个 node 节点下载 Tomcat 镜像进行推送云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第4张图片

 云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第5张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第6张图片

(4)配置凭证

node节点配置凭证

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第7张图片

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

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第8张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第9张图片

创建 secret 资源

查看 secret 资源

创建资源从 harbor 中下载镜像

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第10张图片

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

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第11张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第12张图片

master 节点创建资源

查看pod

查看svc

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

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第13张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第14张图片

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

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第15张图片

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第16张图片

三、问题

1.harbor页面无法打开

(1)报错

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第17张图片

(2)原因分析

harbor未启动

(3)解决方法

启动harbor

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第18张图片

Windows桌面进入-终端管理员

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第19张图片

输入notepad

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第20张图片

选择所有文件

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第21张图片

打开hosts

增加如下行:

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第22张图片

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

(1)报错

(2)原因分析

登录凭证错误

(3)重新修改

修改前:

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第23张图片

修改后:

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第24张图片

3.tomcat-deployment 资源生成报错

(1)报错

(2)原因分析

端口范围错误

(3)解决方法

修改nodePort端口为31111

修改前:

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第25张图片

修改后:

云原生Kubernetes:K8S集群使用带凭证的harbor仓库_第26张图片

你可能感兴趣的:(云原生,kubernetes,java)