一。运维角度:

(一)镜像:

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实践的更多相关文章

  1. 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证

    上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...

  2. docker k8s 1.3.8 + flannel

    docker k8s + flannel kubernetes 是谷歌开源的 docker 集群管理解决方案. 项目地址: http://kubernetes.io/ 测试环境: node-1: 10 ...

  3. k8s实践 - 如何优雅地给kong网关配置证书和插件。

    前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...

  4. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  5. docker简易实践

    docker简易实践 实验环境 操作系统:deepin 15.4 安装步骤 1.安装docker sudo apt-get install docker.io 2.启动docker服务 sudo se ...

  6. 这是一次 docker 入门实践

    前言 其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧. 实现目标 安装 docker ce ...

  7. docker最佳实践-----美团点评的分享

    美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”).该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台.目前该平台为美团点 ...

  8. Jenkins+Git+Docker+K8s部署

    准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...

  9. docker&k8s填坑记

    本篇主要用于记录在实施docker和kubenetes过程中遇到的一个问题和解决办法. 本节部分内容摘自互联网,有些部分为自己在测试环境中遇到到实际问题,后面还会根据实际情况不断分享关于docker/ ...

随机推荐

  1. Spring MVC 环境搭建(二)

    在Spring MVC 环境搭建(一)中我们知道 spring 的配置是通过 urlmapping 映射到控制器,然后通过实现Controller接口的handlerequest方法转向页面. 但这存 ...

  2. python 关键字参数

    原文地址:http://docs.pythontab.com/python/python3.4/controlflow.html#tut-functions 函数可以通过 关键字参数 的形式来调用,形 ...

  3. 【BZOJ】【1036】树的统计

    嗯这题是一道对树进行动态修改&查询的经典题目,可以拿来练习树链剖分~ 啊对于这种动态修改&查询的题目,我们最喜闻乐见的就是在一个序列上去做了,毕竟可以直接套各种数据结构模版啊,比如线段 ...

  4. associated 2 maps

    <!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content= ...

  5. 无网络centos7中部署kubernetes

    本文提供的kubernetes1.1实际为kubernetes0.8,最新kubernetes部署方式见下一篇文章:centos下kubernetes+flannel部署. 一.部署环境信息: 1)m ...

  6. CSS 知识积累

    一.关于定位 1.相对定位下,不需要设定块级元素的宽度,只需要设定高度,即可以使该块级元素自适应,如果内有固定高度子元素,可以不设高度.而且可以进行top left定位. 2.相对定位下,如果两个兄弟 ...

  7. 【mysql5.6】下载安装

    每次学新技术最烦的就是安软件了..... 下载的mysql5.6 http://dev.mysql.com/downloads/windows/ 一路默认安装.安装后 1.以管理员身份打开C:\WIN ...

  8. HDU 1428 漫步校园(记忆化搜索,BFS, DFS)

    漫步校园 http://acm.hdu.edu.cn/showproblem.php?pid=1428 Problem Description LL最近沉迷于AC不能自拔,每天寝室.机房两点一线.由于 ...

  9. jvm性能调优---jstat的用法

    Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令 ...

  10. Google Protocol Buffers简介

    什么是 protocol buffers ? Protocol buffers 是一种灵活.高效的序列化结构数据的自动机制--想想XML,但是它更小,更快,更简单.你只需要把你需要怎样结构化你的数据定 ...