k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库

至于containerd大家还需要在去学习以下使用的命令。

版本介绍

  • k8s:v1.28.2
  • containerd:1.6.33

1.配置containerd镜像加速器

[root@master ~]# vim /etc/containerd/config.toml  ---编辑containerd配置文件找到以下位置新添加
[plugins."io.containerd.grpc.v1.cri".image_decryption]
      key_model = "node"

    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = ""

      [plugins."io.containerd.grpc.v1.cri".registry.auths]

      [plugins."io.containerd.grpc.v1.cri".registry.configs]

      [plugins."io.containerd.grpc.v1.cri".registry.headers]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors] #下面两行为新添加

        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
           endpoint = ["加速器1" ,"加速器2" ,"加速器3"]
           
[root@master ~]#  systemctl restart containerd
[root@master ~]# crictl  pull centos:6  #测试
Image is up to date for sha256:5bf9684f472089d6d5cb636041d3d6dc748dbde39f1aefc374bbd367bd2aabbf

在这里插入图片描述
测试从官方下载镜像创建pod

[root@master ~]# cat test-nginx-pod.yml 
apiVersion: v1
kind: Pod
metadata:
 name: test-app
spec:
 containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    ports:
     - containerPort: 80
     
[root@master ~]# kubectl get pod -o wide 
NAME       READY   STATUS    RESTARTS         AGE     IP             NODE     NOMINATED NODE   READINESS GATES
test-app   1/1     Running   0                3m19s   10.244.1.100   node-2   <none>           <none>

2.配置Harbor私有仓库,k8s所有节点都操作

192.168.209.182为我harbor仓库的地址,访问方式为http

[root@master ~]# vim /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry.configs]
  [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.209.182".auth] #新添加指定harbor仓库的地址与用户名和密码
            username = "admin"
            password = "Harbor12345"
      [plugins."io.containerd.grpc.v1.cri".registry.headers]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]  #这里是配置的镜像加速器,为新添加两行配置
           endpoint = ["https://br003st4.mirror.aliyuncs.com" ,"https://registry-1.docker.io" ,"https://08c765900e00f5d20f0dc0005a40c3a0.mirror.swr.myhuaweicloud.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.209.182"] #新添加配置,忽略https的访问方式
           endpoint = ["http://192.168.209.182"]

在这里插入图片描述

[root@master ~]#  systemctl restart containerd
[root@master ~]# crictl pull 192.168.209.182/nginx/mynginx:v1.0  #下载镜像

2.1.k8s使用Harbor仓库的镜像创建pod

你还可以使用 kubectl 创建一个 Secret 来访问容器仓库时, 当你没有 Docker 配置文件时你可以这样做:

1.先定义需要访问harbor的secret,将Harbor仓库的地址和用户还有密码进行保存
[root@master ~]# kubectl create secret docker-registry harbor-secret --docker-username=用户名 --docker-password=harbor密码 --docker-server=harbor仓库的ip
secret/harbor-secret created
[root@master ~]# kubectl get secret 
NAME            TYPE                             DATA   AGE
harbor-secret   kubernetes.io/dockerconfigjson   1      30s
2.创建pod
[root@master ~]# cat test-nginx-pod.yml 
apiVersion: v1
kind: Pod
metadata:
 name: test-app
spec:
 containers:
  - name: nginx
    image: 192.168.209.182/nginx/mynginx:v1.0
    imagePullPolicy: IfNotPresent
    ports:
     - containerPort: 80
 imagePullSecrets:
  - name: harbor-secret
  
[root@master ~]# kubectl get pod 
NAME       READY   STATUS    RESTARTS        AGE
test-app   1/1     Running   0               3m37s

3.配置使用阿里云私有仓库

[root@master ~]# vim /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry]
      config_path = ""

      [plugins."io.containerd.grpc.v1.cri".registry.auths]

      [plugins."io.containerd.grpc.v1.cri".registry.configs] #下面的为新添加,添加自己的阿里云私有仓库
       [plugins."io.containerd.grpc.v1.cri".registry.configs."registry.cn-hangzhou.aliyuncs.com".auth]
         username = "阿里用户"
         password = "密码"

      [plugins."io.containerd.grpc.v1.cri".registry.headers]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

       [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://br003st4.mirror.aliyuncs.com" ,"https://registry-1.docker.io" ,"https://08c765900e00f5d20f0dc0005a40c3a0.mirror.swr.myhuaweicloud.com"]

    [plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]

在这里插入图片描述

[root@master ~]#  systemctl restart containerd
[root@master ~]# crictl  pull registry.cn-hangzhou.aliyuncs.com/testpm-k8s/nginx #下载测试

3.1.k8s使用阿里云仓库的镜像创建pod,k8s所有节点均配置

你还可以使用 kubectl 创建一个 Secret 来访问容器仓库时, 当你没有 Docker 配置文件时你可以这样做:

1.先定义需要访问harbor的secret,将Harbor仓库的地址和用户还有密码进行保存
[root@master ~]# kubectl create secret docker-registry ali-secret --docker-username=用户名 --docker-password=harbor密码 --docker-server=registry.cn-hangzhou.aliyuncs.com  #阿里私有仓库的地址
secret/harbor-secret created
[root@master ~]# kubectl get secret 
NAME            TYPE                             DATA   AGE
ali-secret      kubernetes.io/dockerconfigjson   1      17s
2.创建pod
[root@master ~]# kubectl delete -f test-nginx-pod.yml 
pod "test-app" deleted
[root@master ~]# vim test-nginx-pod.yml  
apiVersion: v1
kind: Pod
metadata:
 name: test-app
spec:
 containers:
  - name: nginx
    image: registry.cn-hangzhou.aliyuncs.com/testpm-k8s/nginx:1.14
    imagePullPolicy: IfNotPresent
    ports:
     - containerPort: 80
 imagePullSecrets:
  - name: ali-secret
[root@master ~]# kubectl apply -f test-nginx-pod.yml 
pod/test-app created
[root@master ~]# kubectl get pod -o wide
NAME       READY   STATUS    RESTARTS         AGE   IP             NODE     NOMINATED NODE   READINESS GATES
test-app   1/1     Running   0                47s   10.244.1.104   node-2   <none>           <none>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySql】EXPLAIN执行计划全解析:15个字段深度解读与调优指南

文章目录 一、执行计划核心字段总览二、关键字段深度拆解1. type&#xff08;访问类型&#xff09;——查询性能的晴雨表典型场景分析&#xff1a; 2. key_len&#xff08;索引使用长度&#xff09;——索引利用率的检测仪计算示例&#xff1a; 3. Extra&#xff08;附加信息&a…

python-leetcode-最长有效括号

32. 最长有效括号 - 力扣&#xff08;LeetCode&#xff09; class Solution:def longestValidParentheses(self, s: str) -> int:stack [-1] # 存储索引&#xff0c;初始值 -1 代表“未匹配起点”max_length 0for i, char in enumerate(s):if char (:stack.append(i)els…

单目摄像头物体深度计算基础原理

三维空间物体表面点位与其在图像中对应点之间的相互关系&#xff0c;必须建立相机成像的几何模型&#xff0c;这些几何模型参数就是相机参数&#xff0c;而相机参数的求解就是相机标定。 相机的参数矩阵包括内参和外参&#xff1a; 外参&#xff1a;决定现实坐标到摄像机坐标。…

CF 106A.Card Game(Java实现)

问题分析 定义一个字符是王牌&#xff0c;打出第一张牌a&#xff0c;第二张牌b。如果只有a是王牌花色直接赢。如果a&#xff0c;b同花色且a>b则a赢&#xff1b;如果只有b是王牌&#xff0c;a输。如果a&#xff0c;b都不是王牌且不同花色&#xff0c;不比较直接输。 思路分析…

在 Vue 组件中,如何确认父组件在 add 模式下传入 value 的情况及其对子组件 getProducts() 方法的触发影响?

文章目录 父组件中 <ave-form> 的使用add 模式下触发逻辑value 的传入情况是否触发 getProducts()&#xff1f; 验证 add 模式下 getProducts() 是否触发结论&#xff1a; 检查父组件传入 value 的完整情况如何明确知道父组件传入的 value最终回答 父组件 index.vue子组件…

Python的那些事第三十四篇:基于 Plotly 的交互式图表与仪表板设计与应用

基于 Plotly 的交互式图表与仪表板设计与应用 摘要: 本文深入探讨了 Plotly 这一强大的交互式图表和仪表板库。首先介绍了 Plotly 的背景与发展历程,随后详细阐述了其核心功能特性,包括丰富的图表类型、高度的自定义能力以及便捷的交互操作。通过实际案例分析和示例代码展示…

瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发

触觉智能分享&#xff0c;瑞芯微RK安卓Android主板GPIO按键配置方法&#xff0c;方便大家更好利用空闲IO&#xff01;由触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;树莓派卡片电脑设计&#xff0c;支持安卓Android、开源鸿蒙Open…

树莓百度百科更新!宜宾园区业务再添新篇

树莓集团宜宾园区业务不断拓展&#xff0c;主要体现在以下几个方面&#xff1a; 产业布局 -聚焦数字经济核心领域&#xff1a;涵盖软件开发、人工智能、大数据等&#xff0c;吸引众多上下游企业入驻&#xff0c;形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…

Orange 开源项目 - 集成阿里云大模型

1 阿里云的大模型服务平台百炼 阿里云的大模型服务平台百炼是一站式的大模型开发及应用构建平台。不论是开发者还是业务人员&#xff0c;都能深入参与大模型应用的设计和构建。您可以通过简单的界面操作&#xff0c;在5分钟内开发出一款大模型应用&#xff0c;或在几小时内训练…

rust 前端npm依赖工具rsup升级日志

rsup是使用 rust 编写的一个前端 npm 依赖包管理工具&#xff0c;可以获取到项目中依赖包的最新版本信息&#xff0c;并通过 web 服务的形式提供查看、升级操作等一一系列操作。 在前一篇文章中&#xff0c;记录初始的功能设计&#xff0c;自己的想法实现过程。在自己的使用过…

如何使用Docker一键本地化部署LibrePhotos搭建私有云相册

文章目录 前言1.关于LibrePhotos2.本地部署LibrePhotos3.LibrePhotos简单使用4. 安装内网穿透5.配置LibrePhotos公网地址6. 配置固定公网地址 前言 你是不是也经常对着手机里那一堆珍贵的照片发愁&#xff0c;心里想着&#xff1a;‘这要是被谁偷偷看了可咋办&#xff1f;’别…

PXE批量网络装机与Kickstart自动化安装工具

目录 一、系统装机的原理 1.1、系统装机方式 1.2、系统安装过程 二、PXE批量网络装机 2.1、PXE实现原理 2.2、搭建PXE实际案例 2.2.1、安装必要软件 2.2.2、搭建DHCP服务器 2.2.3、搭建TFTP服务器 2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下 2.2.5、编…

有道云数据下载导出到本地结合Typora-v1.9.5 解锁版解压版构建本地笔记库

1、下载python 导出脚本 脚本下载&#xff1a;yodaonote-pull 2、安装python 依赖包 3、获取有道云cookies 通过有道云网页版登录获取cookies 方式一&#xff1a;浏览器F12 方式二&#xff1a;chrome 浏览器插件Cookie-copy 查看 4、配置导出路径 配置cookies.json {…

【一起学Rust | Tauri2.0框架】单实例应用程序的深入解析:零漏洞实现与优化实战

文章目录 前言一、 单实例应用的意义二、 实现单实例应用的方法1 Windows下的实现1.1 创建命名Mutex1.2 在Tauri应用中集成Mutex检查 2 macOS下的实现2.1 获取Bundle Identifier2.2 检查是否已经有实例在运行 3 Linux下的实现3.1 获取进程列表3.2 检查是否已经有实例在运行 4 在…

和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设

气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连&#xff0c;发挥着不可替代的重要作用。人工智能技术的迅猛发展&#xff0c;为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息&#xff0c;助力人类更精准地把握自然规律&am…

autojs例子之webView的UA切换

/*** 作者: 家* QQ: 203118908* 功能: webViewUA切换*/ "ui"; importClass(java.io.File); importPackage(android.text); importPackage(android.text.style);ui.layout(<vertical id"yidong1" marginTop0 bg"#881e90ff"><text id&q…

HarmonyOS 5.0应用开发——鸿蒙接入高德地图实现POI搜索

【高心星出品】 文章目录 鸿蒙接入高德地图实现POI搜索运行结果&#xff1a;准备地图编写ArkUI布局来加载HTML地图 鸿蒙接入高德地图实现POI搜索 在当今数字化时代&#xff0c;地图应用已成为移动设备中不可或缺的一部分。随着鸿蒙系统的日益普及&#xff0c;如何在鸿蒙应用中…

Python爬虫(四)- Selenium 安装与使用教程

文章目录 前言一、简介及安装1. Selenium 简介2. Selenium 安装 二、Selenium 基本使用1. 导入Selenium2. 启动浏览器3. 打开网页4. 获取页面标题5. 关闭浏览器6. 完整示例代码 三、Selenium WebDriver1. 简介2. 基本操作2.1 启动浏览器2.2 关闭浏览器2.3 打开网页2.4 关闭当前…

java后端开发day20--面向对象进阶(一)--static继承

&#xff08;以下内容全部来自上述课程&#xff09; 1.static–静态–共享 static表示静态&#xff0c;是java中的一个修饰符&#xff0c;可以修饰成员方法&#xff0c;成员变量。 1.静态变量 被static修饰的成员变量&#xff0c;叫做静态变量。 特点&#xff1a; 被该类…

phpstudy安装教程dvwa靶场搭建教程

GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA) Dvwa下载地址 Windows版phpstudy下载 - 小皮面板(phpstudy) 小皮下载地址 1选择windows 版本&#xff0c;点击立即下载 下载完成&#xff0c;进行解压&#xff0c;注意不要有中文路径 点击.exe文件进行安装…