Jusene's Blog

Jusene's Blog

There are more ways than difficulties

Python 3 内置数据结构方法总结

python 3

python3中内置的数据结构有5种:列表、元组、字符串、集合、字典,每种数据结构都为python带来了极大的便利,这里简单的做下总结。

Puppet 配置语言学习(四)

Puppet

最后我们还得了解下puppet的一些配置和一些功能,主流用法在前面三章已经说的差不多了,这里我在记录下杂乱的点点滴滴。

Puppet 配置语言学习(三)

Puppet

学习puppet的配置语法,在单机上测试是最快能够实现的,而最终我们还是需要在puppet的master-agent下工作,下面我们来尝试master-agent模式下工作。

Puppet 配置语言学习(二)

Puppet

puppt的配置语言将资源抽象化,所以我们不必担心底层如何实现,而资源与资源必然是会存在依赖先后关系的,并且puppet更加有oop(面向对象的编程)的设计,存在类,模版,模块,变量等多种概念。

Puppet 配置语言学习(一)

Puppet

puppet是一种linux,unix,windows平台的集中配置管理系统,尽管puppet采用ruby开发,但是puppet的配置语言却自成一套编程语言体系(puppet描述语言),puppet可以自行维护一个相对稳定的IT系统,采用c/s星状的结构,也就是master/agent框架,每个puppet-agent会周期(默认半个小时)向服务器发送请求,获取最新的配置信息,保障每个puppet-agent系统都可以根据puppet-master的配置维护系统稳定和配置的一致性,配置完成后puppet-agent可以反馈给服务端一个消息。

使用Fig编排Docker

编排

编排是一个没有严格定义的概念,大致描述的就是自动配置,协作和管理服务的过程,在Docker的世界里,编排用来描述一组实践过程,这个过程运行多个多个容器里的应用,通过将这些容器链接起来,快速构建出生产环境与开发环境。

Docker镜像仓库

Docker仓库

Docker镜像仓库简单来说就是用来存储自己制作的docker镜像,这docker镜像仓库我称为docker-registry,Docker官方给我们提供了公共仓库(Docker Hub)和私有仓库(Docker registry),想要使用Docker Hub我们只需要在Docker Hub上注册自己的docker仓库即可,而Docker registry则需要我们自己来搭建仓库。

Docker数据卷

数据卷

讲起docker,数据的持久化一直是需要我们关注的问题,数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,它提供了很多有用的特性:

  • 数据卷可以在容器之间共享和重用
  • 对数据卷的修改立马生效
  • 对数据卷的更新,不会影响镜像
  • 数据卷默认会一直存在,即使容器被删除
利用Dockerfile构建Docker镜像

为什么使用Dockerfile

常见的创建自己想要的镜像有两种:

  1. 一种是通过docker commit将修改好的镜像提交为本地的新镜像,我们都知道docker的存储是分层存储,只有最上层才是可读写的,而我们的普通操作往往会调用许多文件或者打开许多文件,导致这些文件发生改变,而改变了就需要写入这层存储,将大量的无关内容添加为新的镜像内容,这会造成镜像文件极其臃肿,可以通过docker diff来看下普通操作发生了多少的变化。而且通过这种方式提交上去的镜像出了提交本人无人知道做了什么操作,极其不容易管理。所以docker commit除了学习外或者入侵取证外都不建议直接在生产环境使用。
Docker 网络

Docker 网络

当我们启动Docker daemon服务的时候默认会出现一个docker0的虚拟网卡,在虚拟化网络的时候我们已经明确知道这是网桥,我们启动一个容器的时候,默认会有虚拟网络桥到这块网卡,并形成nat网络,而docker默认创建的网络都是nat网络,我们常见的docker网络如下图所示:

avatar
Jusene
纸上得来终觉浅 绝知此事要躬行