Docker+K8S实践
一。运维角度:
(一)镜像:
1. 避免依赖过深。不要在基础镜像上加太多产生其他的镜像,我觉得这块最多是三四层。
一层是base景像再往上是工具、中间件这样的,再往上一层就是你自己的程序,再多就比较乱了。
Base image是CentOS 7
2. 镜像越小越好,消耗的资源越少越好
3. 根据应用的差异化,建多个基础镜像
4. 镜像构建这块,一定要从Dockerfile生成,这样做最大的好处是可以通过Dockerfile“阅读”镜像。
在后续的协作、升级维护等方面会带来巨大的便利。如果不从Dockerfile生成,以后更新、回滚是很麻烦的。
我用Dockerfile生成的时候,其他的人可以通过Dockerfile或者镜像就可以阅读这个镜像是怎么来的。
哪个镜像是base镜像,中间加了哪些软件,运行什么东西
5.镜像管理这块,虽然我们应用的是原生的,但是这几项只要跟数据有关系的都要考虑。
单点问题,暂时我们用的是一台机器,不是很安全,对应的解决方案可以考虑DRBD、分布式存储以及云存储。
性能问题,主要是下载加速,目前可用的解决方案是通过HTTP反向代理缓存来加速Layer的下载。
权限问题,可以用Nginx LUA提供一个简单快速的实现方案
(二)日志管理:
日志管理的话,如果把日志放在容器里面,由于容器是无状态的,所以存储在容器内的日志会随着容器的销毁而消失。
你要把日志实时保存下来,或者把日志放在宿主机,但是放在宿主机的话,有点违反Docker化不依赖宿主机的任何环境的要求。
建议放一些日志收集工具如Logstash或者Flume等。
(三)RC配置
1. 多实例运行,我们的机器可够跑多个实例的,启动的时候每个实例的占的内存和CPU都要考虑一下
(四)内核参数的调整:
1. ulimit
2. dns
3. ....
二。开发角度:
(一)
1. 程序放在容器里的话,这个程序至少应该是无状态的,不能依赖于宿主机的一切环境,如目录、IP
2. 以前如果用正常开发的话,root是不让用的,用Docker就可以
Docker+K8S实践的更多相关文章
- 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证
上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...
- docker k8s 1.3.8 + flannel
docker k8s + flannel kubernetes 是谷歌开源的 docker 集群管理解决方案. 项目地址: http://kubernetes.io/ 测试环境: node-1: 10 ...
- k8s实践 - 如何优雅地给kong网关配置证书和插件。
前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
- docker简易实践
docker简易实践 实验环境 操作系统:deepin 15.4 安装步骤 1.安装docker sudo apt-get install docker.io 2.启动docker服务 sudo se ...
- 这是一次 docker 入门实践
前言 其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧. 实现目标 安装 docker ce ...
- docker最佳实践-----美团点评的分享
美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”).该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台.目前该平台为美团点 ...
- Jenkins+Git+Docker+K8s部署
准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...
- docker&k8s填坑记
本篇主要用于记录在实施docker和kubenetes过程中遇到的一个问题和解决办法. 本节部分内容摘自互联网,有些部分为自己在测试环境中遇到到实际问题,后面还会根据实际情况不断分享关于docker/ ...
随机推荐
- shader 里面的分支
shader 里面的真分支会降低效率 一种方法:构造一个分段函数出来 比如saturate(depth*1.5f)
- substring()、 substr() 、slice()的区别:
stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符.start必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObjec ...
- Yahoo, Steve blog
Performance Research Domain Sharding revisited A Software Developer's Guide to HTTP How the Browser ...
- 偏序集的Dilworth定理
定理1 令(X,≤)是一个有限偏序集,并令r是其最大链的大小.则X可以被划分成r个但不能再少的反链.其对偶定理称为Dilworth定理:定理2 令(X,≤)是一个有限偏序集,并令m是反链的最大的大小. ...
- Keil RTX systick 初始化
在STM32F215上移植Keil的RTX操作系统,随便设置下就能好使,但是当我想知道systick到底是怎么设置的时候,就得翻翻代码了,原来在 rt_HAL_CM.h中以一个内联函数的形式定义的 _ ...
- ZOJ 2971 Give Me the Number;ZOJ 2311 Inglish-Number Translator (字符处理,防空行,strstr)
ZOJ 2971 Give Me the Number 题目 ZOJ 2311 Inglish-Number Translator 题目 //两者题目差不多,细节有点点不一样,因为不是一起做的,所以处 ...
- ios滤镜
现在很多滤镜效果都写好了,搬运工的我直接拿来用(感谢
- D&F学数据结构系列——AVL树(平衡二叉树)
AVL树(带有平衡条件的二叉查找树) 定义:一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树. 为什么要使用AVL树(即为什么要给二叉查找树增加平衡条件),已经在我之前的博文中说到过 ...
- hadoop,spark,linux上常用命令
记下常用命令,慢慢补充 1.hadoop 查看hdfs上的目录: hadoop fs -ls /给hdfs上目录授予权限: hadoop fs -chmod 777 /tmp/hive 在hdfs ...
- JavaWeb开发好资料
以下来源:http://oss.org.cn/ossdocs/ Documents 操作系统: GNU, Linux, Linux核心, Linux Kernel API, Linux核心架构: a1 ...