前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8S现存问题(三)

K8S现存问题(三)

原创
作者头像
陈不成i
修改2021-07-02 14:29:47
3980
修改2021-07-02 14:29:47
举报
文章被收录于专栏:ops技术分享

七.容器的管理

传统服务可以通过键盘和显示器本地管理,OpenSSH 远程管理,通过配置还能使用串口。

容器的管理让你抓狂 docker exec 和 kubectl exec 进入后与传统Linux差异非常大,这是镜像制作者造成了。

  • 有些镜像没有初始化 shell 只有一个 $ 符号
  • 没有彩色显示
  • 可能不支持 UTF-8,中文乱码
  • 可能不是标准 ANSI/XTerm 终端
  • 键盘定义五花八门,可能不是美式104键盘
  • 国家和时区并不是东八区,上海
  • HOME 目录也是不是 /root
  • 想查看端口情况,发现 netstat 和 ss 命令没有。
  • 想查看IP地址,发现 ifconfig, ip 命令没有。
  • 想测试IP地址是否畅通,发现 ping, traceroute 没有。
  • 想测试URL,发现 curl , wget 没有。
  • 有些镜像 dnf,yum,apk,apt 可以使用,有些镜像把包管理也给阉割了,你想安装上述工具都安装不了。

卧槽!!! 一万匹草泥马

然后就自己用 Dockerfile 编译,整出200MB的镜像,卧槽这么大。

八.容器与安全

很多容器的镜像中是不包含 iptables 的,所以无法做颗粒度很细的容器内部网络安全设置。即使你制作的镜像带有iptables ,多数容器的侧咯,IP地址和端口是随机变化的。

绑定IP地址又带了容器的复杂性。

一旦攻入一个容器,进入容器后,容器与容器间基本是畅通无阻。

在容器中藏一个后门比物理机更容易,如上文所说很多容器中没有调试相关命令,限制了你排查后门的难度。所以Dockerfile 制作镜像,最好使用官方镜像衍生出你的镜像。

九.容器与监控

谈到监控,跳不开 prometheus(普罗米修斯),它并不能覆盖到所有监控。

我曾经写过一篇文章《监控的艺术》网上可以搜到。

容器与CI/CD

在DevOps场景中,使用 docker 或 kubernetes 做 CI/CD 是很扯淡的。

当 git 产生提交后,gitlab/jenkins 启动容器,下载代码,编译,打包,测试,产生构建物,编译 Dockerfile ,上传 docker 镜像到 registry,最后部署到容器执行。

卧槽!!!速度能急死你。

于是乎,我们做了 Cache。 不用每次都 pull 镜像,缓存 Maven 的 .m2 库,不再清理代码(mvn clean)提速不少,测试环境凑合用吧。 注意不mvn clean 有时会编译出错

至于生产环境,我就不说了,有多少人真用CD部署生产环境。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 七.容器的管理
  • 八.容器与安全
  • 九.容器与监控
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档