惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
Jina AI
Jina AI
爱范儿
爱范儿
Attack and Defense Labs
Attack and Defense Labs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
GbyAI
GbyAI
N
News | PayPal Newsroom
Last Week in AI
Last Week in AI
V
Visual Studio Blog
SecWiki News
SecWiki News
H
Heimdal Security Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
腾讯CDC
L
LINUX DO - 热门话题
I
InfoQ
罗磊的独立博客
博客园_首页
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
阮一峰的网络日志
阮一峰的网络日志
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs
美团技术团队
IT之家
IT之家
AWS News Blog
AWS News Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
Help Net Security
Help Net Security
S
Secure Thoughts
Microsoft Security Blog
Microsoft Security Blog
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
B
Blog RSS Feed
N
News and Events Feed by Topic
L
Lohrmann on Cybersecurity
Google Online Security Blog
Google Online Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
News and Events Feed by Topic
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
G
Google Developers Blog
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
F
Full Disclosure

博客园 - 渺晓

2025年终总结2026展望 2024年终总结 centos7.9 升级openssh(9.7p1) 2023年终总结 ELK自动清理索引 docker+docker-compose部署rocketmq集群遇到的大坑 docker-compose部署rocketmq集群 centos7安装docker compose kubernetes集群搭建2023 kubepi加入集群,生成token Windows11 Centos7 SSH Server配置 RSA公钥登录 免密登录 CentOS7 安装ElasticSearch8.9+Kibana8.9 windows服务器nginx和iis端口冲突问题 Linux(Centos7.6) 逻辑卷扩容 磁盘扩容 LVM扩容 LVM创建 逻辑卷挂载 2022年终总结 python pdf转图片 Windows搭建Mysql8 java基础 idea maven 私库 Window10启动Consul后页面UI卡住
k8s部署jar包心得
渺晓 · 2023-09-26 · via 博客园 - 渺晓

1、搭建k8s集群,经过千辛万苦终于把集群搭建好了,虽然把nginx跑起来了,但是还是一脸懵逼

2、先弄清楚一些概念   node pod service deployment ingresses namespace,node表示集群节点;pod 是最小的资源管理组件,它代表集群中运行的一个进程;service负责将pod进行对外暴露;deployment负责管理和控制pod;namespace负责组织和资源的隔离。

3、利用deployment把pod创建好,然后利用service将pod暴露出去,service的类型需要了解清楚

4、然后jar应该怎样利用k8s进行部署呢?刚才是想的是将jar传到k8s节点上利用-v挂载宿主机目录然后进行部署,百度了一堆,才发现不是这样,还是固有思维在考虑,应该用docker的方式考虑才是正确的方向,并且是docker仓库的方式才行,普通的docker的build+start的方式并不能行得通,后来相同了,这样并不适合大规模集群运维

5、找到镜像仓库的方向了, 现在是朝这个方向前进,镜像仓库有dockerhub公有库、docker-registry私库、harbor私库,显然公有库不适合我们部署应用的场景,docker-registry私库看起来更简单一些,更容易上手,当然选择docker-registry

6、docker-registry初步部署很容易,注意是初步部署,后面还有两层,一是https,二是身份认证,初步部署完成然后加上daemon.json的配置,发现docker的push和pull是可以的了,但是deployment始终构建不了pod,原因是镜像拉取失败,不允许从http请求https,但是明明daemon.json是配置了不安全地址的,并且网上很多文章都是这样说的,后来仔细看了下那些文章的时间都是2-3年前的,那时候可能k8s没有弃用docker,再进一步想到k8s使用的不是docker了,而是docker下面的containerd,所以我配置了docker的daemon.json,在docker中是生效的,但是在k8s中是不生效的,所以我应该修改k8s中的镜像仓库相关的配置。

7、然后去k8s官网看了下kebelet的配置,没有发现镜像仓库相关的配置,差点放弃了,然后之前上面提到的containerd的配置,一直没有去百度和尝试,突然就感觉很有可能是这里,然后最终找到了正确的配置方式,修改这个配置文件 /etc/containerd/config.toml,找到里面的[plugins."io.containerd.grpc.v1.cri".registry.mirrors]关建行,在这下面添加

    "192.168.1.2:5000" = {  
        "endpoint" = ["http://192.168.1.2:5000"]  
    }

注意格式,以上配置是针对特定registry的配置,对于从这些registry拉取的镜像,containerd会尝试使用http协议而不是默认的https。

然后重启生效 sudo systemctl restart containerd

8、至此折腾了3天的私有镜像仓库终于有了正确的答案

总结一下,出现这个问题并被卡住3天的原因,一是对k8s本身的理解不够,不然在deployment构建pod时拉取镜像时和利用docker拉取镜像结果不一样的时候,应该就要反应过来,k8s用的是containerd,而不是docker;二是百度出来的很多资料时间比较久了,部分资料已经完全不适应现在的版本了,被误导了,当然主要还是自己太菜了

本文是专门为解决私有镜像仓库的问题而写的,把过程草草的记录一遍,以便后来人有点浅薄的经验可以借鉴,而且可以防止以后自己忘记了

另外后面有空了,会完善本人关于k8s搭建相关文章