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

推荐订阅源

T
Threatpost
AI
AI
T
Threat Research - Cisco Blogs
Know Your Adversary
Know Your Adversary
C
CERT Recently Published Vulnerability Notes
V
Vulnerabilities – Threatpost
S
Securelist
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tenable Blog
C
Cybersecurity and Infrastructure Security Agency CISA
AWS News Blog
AWS News Blog
Cisco Talos Blog
Cisco Talos Blog
Cloudbric
Cloudbric
P
Privacy & Cybersecurity Law Blog
N
News and Events Feed by Topic
D
Docker
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
O
OpenAI News
人人都是产品经理
人人都是产品经理
腾讯CDC
博客园 - 三生石上(FineUI控件)
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Scott Helme
Scott Helme
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 叶小钗
N
News and Events Feed by Topic
J
Java Code Geeks
D
DataBreaches.Net
爱范儿
爱范儿
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
H
Heimdal Security Blog
F
Full Disclosure
L
LINUX DO - 最新话题
W
WeLiveSecurity
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42

博客园 - 渺晓

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