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

news2024/11/18 23:38:49

目录

一、理论

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

修改前:

修改后:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1011568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSV文件打开乱码解决方案

思路 借助第三方软件转码即可。 案例 打开CSV文件显示如下&#xff1a; 导入到python中&#xff0c;借助pandas文件读取 另存为csv文件格式即可 代码如下&#xff1a; import pandas as pd df pd.read_csv(rD:\BaiduNetdiskDownload\csv&xlsx版数据\城市产业创新指数…

人工智能现在可以从文本中生成具有CD音质的音乐,而且只会越来越好

想象一下&#xff0c;键入“戏剧性的介绍音乐”并听到一首飙升的交响乐&#xff0c;或者编写“令人毛骨悚然的脚步声”并获得高质量的音效。这是稳定音频的承诺&#xff0c;一个文本到音频的人工智能模型周三宣布由能合成立体声的稳定人工智能44.1千赫来自文字描述的音乐或声音…

antv-G6知识图谱安装--使用(实例)--连接线修改成动态,并添加跟随线移动的光圈,设置分支跟踪定位功能

这系列文章主要是完成一个图谱的自定义修改&#xff08;最近太忙了长篇分段更新自己使用流程&#xff09; 1. 连接线修改成动态&#xff0c;并添加跟随线移动的光圈 2. 自定义卡片样式和文字内容 3. 自定义伸缩节点的样式&#xff0c;并添加动画样式 3. 自定义弹窗样式 4. 自定…

Redis缓存更新策略、详解并发条件下数据库与缓存的一致性问题以及消息队列解决方案

0、前言 我们知道&#xff0c;缓存由于在内存中&#xff0c;数据处理速度比直接操作数据库要快很多&#xff0c;因此常常将数据先读到缓存中&#xff0c;再进行查询、更新等操作。 但与之而来的问题就是&#xff0c;内存中的数据不仅没有持久化&#xff0c;而且需要保证…

Dajngo02_第一个Django案例

Dajngo02_第一个Django案例 经过之前学习&#xff0c;我们已经可以创建Django环境 现在开始尝试快速使用Django开发一个案例 案例&#xff1a;利用Django实现一个查看当前时间的web页面。 在django中要提供数据展示给用户,一般情况下我们需要完成3个步骤&#xff1a; 在urls.…

如何选择合适的预测性维护工具和平台

随着技术的不断进步&#xff0c;预测性维护&#xff08;Predictive Maintenance&#xff0c;简称PdM&#xff09;已经成为许多企业提高生产效率、减少停机时间和维护成本的核心策略。然而&#xff0c;选择适合自己业务需求的PdM工具和平台可能并不容易。本文将为您提供一些关键…

传统机器学习总结以及深度学习初识

传统机器学习总结以及深度学习初识 文章目录 前言一、传统机器学习总结1.1. 监督学习算法&#xff08;Supervised Learning&#xff09;1.2. 无监督学习算法&#xff08;Unsupervised Learning&#xff09; 二、深度学习初识三、github与gitee的介绍3.1. GitHub&#xff1a;3.2…

Sqlserver 监控使用磁盘空间情况

最近遇到一个小问题&#xff1a;为了保存以往的一些数据&#xff0c;间了大量临时表&#xff0c;导致SQLserver 数据增长过快&#xff0c;不得不想个办法监控磁盘空间使用情况。 网上一般有几种办法&#xff1a; 一是使用 dm_os_volume_stats函数&#xff0c;缺点是 无法获取非…

【实践篇】MySQL执行计划详解

文章目录 本文知识大纲速览1. 前言2. 基本介绍1. 什么是执行计划2. 如何查看执行计划3. 执行计划的组成部分 3. 执行计划的关键元素1. id2. select_type3. table:4. type:5. possible_keys:6. key:7. key_len8. ref:9. rows:10. Extra 4. 底层原理5. 执行计划示例解读本文知识图…

本地引入 Axios 报错

目录 报错信息&#xff1a; 报错截图&#xff1a; ​编辑报错原因&#xff1a; 解决方法&#xff1a; ​编辑运行结果成功&#xff1a; 报错信息&#xff1a; Cannot read properties of undefined (reading post) TypeError: Cannot read properties of undefined (rea…

SpringBoot,Mybatis 使用Java8(JSR310)时间日期规范

目录 一. 依赖二. 前台三. Controller&#xff0c;Form&#xff0c;Service四. 数据库类型五. 效果 一. 依赖 ⏹若使用的是SpringBoot <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifac…

Microsoft 365跨平台协同办公功能,实现Mac、iOS、Windows用户的实时无缝协作

Microsoft 365 for Mac(Office 365)现已更新&#xff0c;最新版本的Microsoft 365 现已支持跨平台协同办公&#xff0c;接下来为你介绍一些使用office 365 Mac版进行创作及写作的好方法。 Microsoft 365 在全平台共用相同的代码库&#xff0c;这意味着使用 Mac、ios 和Windows…

【日积月累】SpringBoot启动流程

目录 SpringBoot启动流程 1.前言2.构造一个SpringApplication的实例&#xff0c;完成初始化的工作SpringApplication实例构造完之后调用run方法&#xff0c;启动SpringApplication3.SpringBoot启动代码SpringBootConfigurationComponentScanEnableAutoConfiguration 总结参考…

随手笔记(四十六)——idea source root错乱

一般问题会出现在这里&#xff0c;写着别的项目的项目名&#xff0c;就是因为reload了别的项目的maven文件&#xff0c;借鉴了很多网上的说法&#xff0c;比如改project Structure里面改子项目的source。确实讲得挺好&#xff0c;就是不会用&#xff1b;所以最后的解决方案就是…

多云系列|10个关键的多云战略:简介

随着VMware继续向客户介绍多云问题以及VMware跨云服务在云智能计算历程中的优势&#xff0c;有一个问题经常被提及&#xff0c;“我如何开始&#xff1f;”。本博客系列旨在为客户提供指导&#xff0c;并回顾多云的十大领域&#xff0c;介绍我们应该关注哪些方面。此外&#xf…

引领UI设计生产工具进入AI时代,猿辅导旗下Motiff发布三大AI功能

近期&#xff0c;IXDC 2023国际体验设计大会在北京国家会议中心举行&#xff0c;共邀请全球800企业&#xff0c;1000名设计师共襄主题为“设计领导力”的创新盛会。作为全球最具影响力的创新设计大会之一&#xff0c;大会围绕创新、系统、商业三个关键维度&#xff0c;结合在AI…

MySQL优化第二篇

MySQL优化第二篇 性能分析小表驱动大表慢查询日志日志分析工具mysqldumpslow Show Profile进行SQL分析&#xff08;重中之重&#xff09; 七种JOIN 1、inner join &#xff1a;可以简写为join&#xff0c;表示的是交集&#xff0c;也就是两张表的共同数据 sql语句&#xff1a…

Recognize Anything:一个强大的图像标记模型

Recognize Anything是一种新的图像标记基础模型&#xff0c;与传统模型不同&#xff0c;它不依赖于手动注释进行训练;相反&#xff0c;它利用大规模的图像-文本对。RAM的开发过程包括四个关键阶段: 通过自动文本语义解析获得大规模的无标注图像标签。结合标题和标注任务&#…

网络电视盒子哪个品牌好?测评工作室深入分析电视盒子排名

电视盒子只需要联网就可以收看海量资源&#xff0c;不需要每月缴费&#xff0c;玩游戏、上网课、K歌都不在话下&#xff0c;对新手来说电视盒子如何选择&#xff1f;网络电视盒子哪个品牌好&#xff1f;工作室购入了最热销的15款电视盒子经过多角度对比后整理了电视盒子排名&am…

Linux内核源码分析 (B.x)Linux页表的映射

Linux内核源码分析 (B.x)Linux页表的映射 文章目录 Linux内核源码分析 (B.x)Linux页表的映射一、ARM32页表1、页表术语2、虚拟地址到物理地址转换3、一级页表项4、二级页表项 二、ARM64页表1、ARMv8-A架构2、4KB大小页4级映射 三、Linux内核中关于页表的函数和宏1、查询页表2、…