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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 渺晓

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搭建相关文章