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

推荐订阅源

月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
IT之家
IT之家
Cyberwarzone
Cyberwarzone
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
The Hacker News
The Hacker News
Jina AI
Jina AI
T
Tor Project blog
V
Vulnerabilities – Threatpost
酷 壳 – CoolShell
酷 壳 – CoolShell
Spread Privacy
Spread Privacy
博客园_首页
C
Cybersecurity and Infrastructure Security Agency CISA
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Simon Willison's Weblog
Simon Willison's Weblog
Security Latest
Security Latest
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 司徒正美
V2EX - 技术
V2EX - 技术
I
Intezer
The Cloudflare Blog
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
Lohrmann on Cybersecurity
Scott Helme
Scott Helme
Google Online Security Blog
Google Online Security Blog
量子位
The Last Watchdog
The Last Watchdog
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Security Affairs
P
Palo Alto Networks Blog
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Attack and Defense Labs
Attack and Defense Labs

博客园 - 渺晓

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