k8s使用私有harbor镜像源

前言

在node上手动执行命令可以正常从harbor拉取镜像,但是用k8s不行,使用kubectl describe pods xxx 提示未授权 unauthorized to access repository。

处理方法

  1. 创建一个secrete资源对象。以下示例中 registry-harbor 为secret资源对象的名称。除了邮箱可以随便填,其它三个需要使用实际的harbor地址和账号。

    kubectl create secret docker-registry registry-harbor
    --docker-server=harbor.interlweb.com
    --docker-username=admin
    --docker-password='Harbor12345'
    --docker-email=foo@bar.com

  2. 在pod的yaml定义文件中使用 imagePullSecrets 引用secret

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: deploy-nginx
    spec:
    replicas: 2
    selector:
    matchLabels:
    app: nginx
    env: uat
    template:
    metadata:
    labels:
    app: nginx
    env: uat
    spec:
    containers:
    - name: nginx
    image: harbor.interlweb.com/public/nginx:1.23.3
    ports:
    - containerPort: 80
    imagePullSecrets:
    - name: registry-harbor

  3. 创建pod测试能否正常拉取

    kubectl create -f xxx.yaml

相关推荐
野猪佩挤1 小时前
k8s+Flink断点续传(MySQL同步Starrocks)
sqlserver·flink·kubernetes
VermiliEiz1 小时前
二进制文件方式部署k8s(3)
云原生·容器·kubernetes·containerd
高山上有一只小老虎1 小时前
IDEA Community如何使用外置的tomcat
java·ide·intellij-idea
海南java第二人1 小时前
Java类加载机制深度解析:从双亲委派到自定义加载的完整指南
java·spring
侧耳倾听1111 小时前
基准测试框架JMH
java·测试工具
草莓熊Lotso1 小时前
C++ 智能指针完全指南:原理、用法与避坑实战(从 RAII 到循环引用)
android·java·开发语言·c++·人工智能·经验分享·qt
❀͜͡傀儡师1 小时前
docker部署 DBSyncer数据同步中间件
docker·中间件·容器
better_liang1 小时前
每日Java面试场景题知识点之-Dubbo
java·dubbo·rpc框架·企业级开发
Qiuner1 小时前
Spring Boot AOP(五) 高级特性与源码实践
java·spring boot·后端
ℳ₯㎕ddzོꦿ࿐1 小时前
Spring Boot MCP(stdio)工具实现的注意事项(踩坑总结)
java·spring boot·后端