容器前时代

说到容器大多数人想到的就是docker,docker的迅速崛起使得使用容器的门槛大大降低了,我第一次接触docker还是14年,那时候作为一名运维部署应用还在大量使用虚拟化,从vmware、hyper-v、kvm、xen 在到后来很火openstack多多少少都有接触和使用,没使用虚拟化之前OS都是装到的笨重物理机上,把OS虚拟化出来就有很多文章可以做了,虚拟化的好处就不说了。

第一阶段问题:

刚接触docker的时候只会把docker装到自己的电脑上来下载一些镜像跑一下这样就不会修改系统原理的环境,当时还不知道容器能给运维的工作带来什么变化,人的进步都是问题带来,先看看一开始我们遇到了什么问题

1、OS还是太笨重,随便哪个OS不是百万级别代码量,所以对OS级别的变更级别上都是分钟级别的

2、因为OS太笨重所以就不想部署太多的OS,这就导致一个OS下经常跑多个应用,一荣俱荣一损俱损

3、开发经常说的一句话:在我电脑上是好的在你们的服务器上就不好了

4、线上变更如临大敌,生怕环境不一致会出异常

解决方案:

docker---->docker-compose---->docker machine

但是吃饱了人们又想折腾了

第二阶段问题:

1、容器都散布在各个地方,每个docker都是独立王国,如何做到集群化管理

2、如何做到跨主机网络访问

3、应用变更时如何做到无感知

3、监控和日志应该怎么做

4、如何做到熔断、回滚、灰度发布

5、如何做容器的负载均衡、内部之间访问

6、如何大规模部署应用

等等。。。。。。

解决方案:

基于kubernetes的openshift

一开始我们并没有选择openshift,而是调研了比较灵活的rancher(当时rancher还是1.x的版本)

当时的rancher有一下几个特点:

1、支持多个底层编排包括Cattle、Swarm、K8S、Mesos

2、可以快速部署多套独立的环境

3、简单的的部署方式

4、高度web化的管理,包括对容器主机的管理

不足之处:

1、当时刚出没多久还太冷门

2、对K8S支持的并不好(rancher2.x版本已经全面拥抱了k8s)

openshift的特点:

1、完全继承k8s所有特性

2、出自红帽之手

3、文档丰富、社区活跃(k8s)

4、有公有云版本在稳定运行

缺点:

1、部署过于复杂

基于对红帽的信仰最后还是选择了openshift

openshift 容器云从入门到崩溃之一《容器能解决什么问题》的更多相关文章

  1. openshift 容器云从入门到崩溃之八《日志聚合》

    日志可以分为两部分 业务日志 业务日志一般是要长期保留的,以供以后有问题随时查询,elk是现在比较流行的日志方案,但是容器日志最好不要落地所以不能把logstash客户端包在容器里面 可以使用logs ...

  2. openshift 容器云从入门到崩溃之六《Source-to-Image》

    上次说到了怎么在oc上面部署应用而且说道了怎么定义模板部署应用,也许你会奇怪那个我代码打包编译在哪一步,那就要说道oc的s2i流程了 下面是基本s2i流程 1.制作base-image镜像 要使用s2 ...

  3. openshift 容器云从入门到崩溃之五《部署应用》

    1.配置部署模板 配置好用户权限之后就可以部署应用了oc常用的两种部署方式: Deploy Image方式 优点:这种方式是最简单的部署方式,你只需要有一个容器镜像就行了或者公开的docker hub ...

  4. openshift 容器云从入门到崩溃之二《准备环境》

    openshift 从3.9开始就开始支持系统组件在容器里运行了,之前版本都是直接运行在操作系统上,名字也改了叫OKD 目前最新的稳定版本是3.11,所以就安装3.11版本 准备环境: 主机名 系统 ...

  5. openshift 容器云从入门到崩溃之九《容器监控-报警》

    容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...

  6. openshift 容器云从入门到崩溃之七《数据持久化》

    数据持久化常用的有两种: hostPath 挂载容器宿主机的本地文件夹,直接修改pod的配置 volumes: - hostPath: path: /data/logging-es type: '' ...

  7. openshift 容器云从入门到崩溃之三《安装openshift》

    准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项 文档地址:https://docs.okd.io/latest/install/configuring_inven ...

  8. openshift 容器云从入门到崩溃之十《容器监控-数据展示》

    POD资源历史曲线(CPU.内存.网络) 监控方案heapster+hawkular-metrics+hawkular-cassandra heapster负责收集数据 hawkular-cassan ...

  9. openshift 容器云从入门到崩溃之四《配置用户验证》

    1.配置本地用户 之前安装的时候选择了htpasswd验证方式 先创建用户 # htpasswd -c /etc/origin/master/htpasswd admin 授权为集群管理员 # oc ...

随机推荐

  1. Linux学习之---Xshell

    经过两周的断断续续的学习,终于把慕课网上tony老师的<Linux网络管理>基础知识学完.tony老师讲课风趣幽默,深入浅出,为老师打call!! 课程地址:https://www.imo ...

  2. TCP通信粘包问题分析和解决

    转载至https://www.cnblogs.com/kex1n/p/6502002.html 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的.因此TCP的socket编程,收发 ...

  3. 8月10日CSS总结

    1.三角形光标转换 CSS: .one{ width: 0;­­ height: 0; border-top: 100px solid #000; border-right:100px solid t ...

  4. 使用python爬虫爬取股票数据

    前言: 编写一个爬虫脚本,用于爬取东方财富网的上海股票代码,并通过爬取百度股票的单个股票数据,将所有上海股票数据爬取下来并保存到本地文件中 系统环境: 64位win10系统,64位python3.6, ...

  5. 洛谷P1088 火星人【STL】【思维】

    题目:https://www.luogu.org/problemnew/show/P1088 题意: 给定一个n个数的排列,要求得到这之后的第m个排列. 思路: next_permutation的简单 ...

  6. 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器...

    警告:所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配.这种不匹配可能会导致运行时失败.请考虑通过配置管理器更改您的项目的目标处理器架构,以使您的项目与引用间的处理器架构 ...

  7. [No0000173]97 条 Linux 常用命令总结

    1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a  列出包括.a开头的隐藏文件的所有文件-A  通-a,但不列出"."和".."-l  列 ...

  8. 10.11JAVA作业

    [实验任务一]:素数输出 1. 实验要求: (1)编写判断该数是否为素数的方法,并在主方法中对其进行调用. (2)注意编程规范:程序开头部分的目的,作者以及日期:必要的空格与缩进,适当的注释等: (3 ...

  9. elasticsearch in docker/ and aggregation,,performance tune ;throughout

    Docker环境中Elasticsearch的安装 ]https://wenchao.ren/archives/category/elasticsearch/page/2 [ElasticSearch ...

  10. iOS自定义结构体

    一.提要 通过以官方的CGSize为例,自定义Objective-C中的结构体,并使用. 二.CGSize 1.系统定义的CGSize结构体 struct CGSize { CGFloat width ...