int32bit's Blog

OpenStack容器服务Zun初探与原理分析

1 Zun服务简介 Zun是OpenStack的容器服务(Containers as Service),类似于AWS的ECS服务,但实现原理不太一样,ECS是把容器启动在EC2虚拟机实例上,而Zun会把容器直接运行在compute节点上。 和OpenStack另一个容器相关的Magnum项目不一样的是:Magnum提供的是容器编排服务,能够提供弹性Kubernetes、Swarm、Mes...

如何探测虚拟化环境是物理机、虚拟机还是容器?

目前裸机(物理机)、虚拟机、容器是云计算提供计算服务的三种主流形式。最近有人问,如何判断一个虚拟shell环境到底是物理机、虚拟机还是容器? 更进一步,如果是物理机,这个物理机厂商是什么,虚拟机到底是KVM还是XEN,容器是Docker还是rkt、lxc等? 更进一步,如果是虚拟机,是否可以判断这个虚拟机是运行在AWS还是阿里或者OpenStack,是否能够获取虚拟机的UUID、inst...

深入浅出OpenStack安全组实现原理

众所周知,OpenStack安全组默认是通过Linux iptables实现的,不过发现目前还是很少有深入细节解析OpenStack安全组实现,于是在下班时间花了几个小时时间重新梳理了下,顺便记录下。 1 iptables简介 1.1 iptables概述 在介绍OpenStack安全组前先简单介绍下iptables,其实iptables只是一个用户空间的程序,真正干活的其实是Linu...

如何阅读OpenStack源码(更新版)

1 OpenStack介绍 OpenStack是一个开源的IaaS实现方案,企业构建私有云的主流选择之一。截至到2019年4月,OpenStack已经有9年的发展历史了,最新发布的版本为第19个版本,代号为Stein,下一个版本Train目前已经处于开发阶段,预计今年10月发布。 最初OpenStack只有两个子项目,分别为Nova和Swift,其中Nova不仅提供计算服务,还包含了网络...

OpenStack断点调试方法

1 关于断点调试 断点是调试应用程序最主要的方式之一,通过设置断点,可以实现单步执行代码,检查变量的值以及跟踪调用栈,甚至修改进程的内存变量值或者运行代码,从而观察修改后的程序行为。 大多数的调试器都是通过ptrace系统调用控制和监视进程状态,通过INT 3软件中断实现断点。当我们在代码中插入一个断点时,其实就是调试器找到指令位置(编译成机器码后的位置)嵌入一个INT 3指令,进程运行...

OpenStack Ironic安装部署参考

注:本篇文章会涉及很多配置、脚本等流水账内容,基本无技术含量,建议有选择地参考性阅读,不建议从头到尾阅读。 上次发布了基于Ironic实现X86裸机自动化装机实践与优化,很多人问关于Ironic安装部署的问题,其实Ironic的安装参考官方文档就够了。 如果把整个安装配置过程都写下来会特别零乱,因此本文接下来主要介绍如下几个相对问题比较多的配置,其他配置参考官方文档即可。 1 PXE/...

OpenStack安全加固探索与实践

本文转发自民生运维微信公众号,关注该公众号阅读更多云计算相关技术分享, 如需转发到其他公众号,请联系本人开通白名单。 1 前言 在构建企业私有云时,除了平台的功能性和稳定性,安全性也是非常重要的因素,尤其对于银行业,数据中心以及监管部门对平台的安全性要求更高。 OpenStack是IaaS的开源实现,经过几年的发展,OpenStack的功能越来越完善,运行也越来越稳定,目前已经成为企业...

基于OpenStack Ironic实现X86裸机自动化装机实践与优化

本文转发自民生运维微信公众号,关注该公众号阅读更多云计算相关技术分享, 如需转发到其他公众号,请联系本人开通白名单。 1 X86裸机管理背景 目前我们测试环境存在大量分散在不同网络区域的各种型号的物理服务器,主要用于给需要物理机的开发人员临时测试使用,使用完毕后通过工单申请回收。这些服务器分布在不同的网络区域,大多数服务器的网络布线和接入均已经就绪。 用户在工单系统中申请一台物理服务器...

OpenStack虚拟机如何获取metadata

1. 关于OpenStack metadata服务 我们知道OpenStack虚拟机是通过cloud-init完成初始化配置,比如网卡配置、hostname、初始化密码以及密钥配置等。cloud-init是运行在虚拟机内部的一个进程,它通过datasource获取虚拟机的配置信息(即metadata)。cloud-init实现了很多不同的datasource,不同的datasource实现...

OpenStack资源管理层次模型

OpenStack有三种资源视图,分别为用户视图、OpenStack视图以及系统视图,这几个资源视图经常容易混淆。我们将这三种视图做个对比。 1 用户视图 用户视图是站在用户的视角所看到的资源,位于资源抽象的最顶端。对于用户来说,底层是个无限量的巨大抽象资源池,所能使用的资源仅仅受管理员的配额限制。用户视图的资源也称为逻辑资源,它的资源量通常与底层物理资源没有关系,因为底层资源对用户是透...