对于Php的程序,已经很久没搞过安装,这次安装,也遇到一些麻烦,这里就记录一下,主要是php版本的问题。
Testlink目前的版本是1.19.6,对php 7.1支持有bug,所以我就换成php 5.6. CentOS 7 带的mariadb版本是5.5,Testlink要求是5.6以上的版本。
对于Php的程序,已经很久没搞过安装,这次安装,也遇到一些麻烦,这里就记录一下,主要是php版本的问题。
Testlink目前的版本是1.19.6,对php 7.1支持有bug,所以我就换成php 5.6. CentOS 7 带的mariadb版本是5.5,Testlink要求是5.6以上的版本。
春节前结果就出来了,上班第一天,整理一下。
会说中文。那么一共是12个项目,11位PTL。zhurong一个人担任两个项目Murano和Solum项目的PTL。
61个项目里,有一部分的基础项目,是属于OpenStack管理的项目,例如 Infrastructure,RefStack,和用户没太多直接关系。真正和用户有关的项目应该就30个左右。
1 * Barbican Ade Lee
2 * Blazar Masahito Muroi
4 * Cinder Jay Bryant
5 * Cloudkitty Christophe Sauthier
6 * Congress Eric Kao
7 * Cyborg Zhipeng Huang
8 * Designate Graham Hayes
10 * Dragonflow Omer Anson
11 * Ec2 Api Andrey Pavlov
12 * Freezer Saad Zaher
13 * Glance Erno Kuvaja
14 * Heat Rico Lin
15 * Horizon Ivan Kolodyazhny
16 * I18n Frank Kloeker
17 * Infrastructure Clark Boylan
18 * Ironic Julia Kreger
19 * Karbor Ying Chen
20 * Keystone Lance Bragstad
21 * Kolla Jeffery Zhang
22 * Kuryr Daniel Mellado
23 * Loci Sam Yaple
24 * Magnum Spyros Trigazis
25 * Manila Tom Barron
26 * Masakari Sampath Priyankara
27 * Mistral Dougal Matthews
28 * Monasca Witold Bedyk
29 * Murano Rong Zhu
30 * Neutron Miguel Lavelle
31 * Nova Melanie Witt
32 * Octavia Michael Johnson
33 * OpenStackAnsible Jean-Philippe Evrard
34 * OpenStackClient Dean Troyer
35 * OpenStackSDK Monty Taylor
36 * OpenStack Charms James Page
37 * OpenStack Helm Matt McEuen
38 * Oslo Ben Nemec
39 * Packaging Rpm Javier Peña
40 * Puppet OpenStack Mohammed Naser
41 * Quality Assurance Ghanshyam Mann
42 * Rally Andrey Kurilin
43 * RefStack Chris Hoge
44 * Release Management Sean McGinnis
45 * Requirements Matthew Thode
46 * Sahara Telles Mota Vidal Nobrega
47 * Searchlight Steve McLellan
48 * Senlin XueFeng Liu
49 * Solum Rong Zhu
50 * Storlets Kota Tsuyuzaki
51 * Swift John Dickinson
52 * Tacker Yong Sheng Gong
53 * Telemetry Julien Danjou
54 * Tricircle Zhiyuan Cai
55 * Tripleo Alex Schultz
56 * Trove Zhao Chao
57 * Vitrage Ifat Afek
58 * Watcher Alexander Chadin
59 * Winstackers Claudiu Belu
60 * Zaqar Wang Hao
61 * Zun Feng Shengqin
从2010年到现在,OpenStack差不多走过了8年的历程。2017年,对OpenStack来说,其实算是令人难忘。
OpenStack作为全球最大的Python的开源项目,他所取得的成就,其实是任何一个开源项目都是不容易超越。不过任何一个开源的项目,都会有他的生命周期,上升的过程和走下坡路,OpenStack也是不会例外。
在K8S如日中天的时候,其实OpenStack未来可以讲的故事,空间越来越小。OpenStack走下坡路的过程,其实某种意义,也表明他的成熟,可以让大家像linux一样,使用OpenStack。
有一次和朋友聊天,说OpenStack厂商最近几年干啥?除了改改UI,好像真的啥也不干。
如果说OpenStack的发展看中国,那么如果2年前,这肯定当笑话。不过到了2017年,真的不得不承认,OpenStack现在比美国还要热门。
2017年7月份,在北京举办OpenStack China day,我想这个应该是OpenStack在国内的最高峰的时刻。我听到我最爱听的评价就是:China Day上的现场Demo,超过OpenStack的峰会。这个时候,其实可以告诉大家,当时China Day上演示OpenStack升级和OpenStack故障的恢复,都是基于Kolla,和我的想法。
这也算是我的OpenStack的最后告别之作,有点悲壮,不过还是不得不承认,OpenStack已经在走下坡路。我是知道大会的实际参会人数的。
其实到了2017年,基金会也开始反思当初的所谓Big Tent模式。这个改变,给OpenStack带来什么?
对我来说,OpenStack项目从10多个,直接扩大30多个。不过最后真正活下来的项目,其实真的没几个。如果从我的角度,目前看到,经过3年的发展,真正能投入生产的,就只有kolla的这个OpenStack部署工具。
真正对OpenStack产生威胁的不是Docker,而是K8s。
目前OpenStack基金会,引入kata容器,不过也很难逃脱挂掉的命运。在红帽收购了CoreOS后,其实就真的没啥机会。
自从2016年,Mirantis算是部分退出OpenStack,转向K8s。其实背景就是OpenStack无法支撑公司的估值和成长。这种影响,也直接影响到国内的OpenStack厂商。已经逐步没有所谓的pure OpenStack厂商。
基本上所有的OpenStack厂商,都要和用户交流K8s,不然就真的没法出门。OpenStack的基金会,也在考虑如何转型,包括搞出一个kata,改名 Open Infra。
如果从我角度,OpenStack其实有很多不足,计费,监控都远远没达到生产的需求。形同摆设。不过大家都没法顾及。
让OpenStack厂商去折腾K8s,搞所谓的Kata,基本都是死翘翘。
目前单纯的OpenStack,已经无法解决OpenStack创业公司的估值问题,都在寻找出路。
当我们把OpenStack定义成公有云和私有云,就会发现他在公有云上无法和AWS PK,在私有云上,无法威胁到vmware。这基本就是老二打不过老大,把吃饭的家伙开源出来的故事。
OpenStack对开源产生了很大的贡献,至少大幅提高了Python程序员的地位。培养了大量的开源的人才。
不过在商业上,技术上,和Docker比起来,所带来的变化,真的不是颠覆性的。
国内的OpenStack 2B市场,基本都是靠销售和市场,年底,Gartner出来辟谣,没有搞过所谓的OpenStack厂商评选。
最近两年,国内的OpenStack公司,基本上都已经没在技术上有啥投入,也就导致非常没有追求。都在搞市场。忽悠用户。
随着大家对OpenStack熟悉,也就熟悉OpenStack的游戏规则。OpenStack社区是很民主。
PTL目前半年选一次,独立董事和TC都是一年选一次。其实无论国内还是国外,大家都比较积极参加独立董事和TC的选举。PTL最近两年,经常出现冷场,很多项目没人想当PTL。
简单点说,干活的,要承担责任的,没人想做。开开会议,指导江山的,大家都比较喜欢。
其实如果展望2018年,国内的OpenStack发展,其实没那么悲观。因为OpenStack没有对手,尤其在国内的国产化的环境下,OpenStack也是唯一的选择,让各方比较容易达成共识。
OpenStack基金会会不会改名,这都是可能的。这是将要在2018年6月份在北京举办的大会,这也注定是一个风向标。
一个美国主导的开源项目,最后在中国繁荣发展,这个本来是我们最开始希望看到的,不过真正到来的时候,我们又感觉我们是否是冤大头,人,就是那么矛盾。
基金会,应该还是会搞出不少的项目,不过这些项目离生产还是很远。目前我也真没看出那个项目,会给用户带来眼前一亮的感觉。
留给OpenStack基金会的时间不多了。
CNCF基金会,其实类似OpenStack基金会,未来会是Openstack基金会的竞争对手。压力真的很大。如果OpenStack的白金会员出现空缺,那么就真的是一件很危险的事情。这也是大概率发生的事情。
其实你看一下就知道,这两个基金会成员高度重合。
如果我写OpenStack文章,不涉及Kolla,是不太可能的事情。2018年,kolla-ansible,还是可以笑傲江湖,无人能匹敌。红帽都要使用kolla的镜像,来部署红帽的OpenStack。
对我有实际意义的事情,就是kolla-Kubernetes。因为OpenStack是足够复杂,如果OpenStack可以跑在Kubernetes上,那么其他的所谓有状态的应用,都可以放到Kubernetes上,那么对传统企业来说,Kubernetes就真的能体现出他的价值。
企业内部99%的应用都是有状态的,Kubernetes能不能支撑这些应用,其实就要靠kolla-Kubernetes证明。
目前OpenStack国际上就是红帽,国内就靠华为来扛,哪个离场,都马上会制造很大的悲剧。当年Mirantis宣布部分退出OpenStack,导致很多OpenStack项目的PTL都失去工作,更别说Core。
华为在国内推OpenStack的公有云,这是一件十分凶险的事情,经常有朋友说我老黑华为。如果我夸华为,华为公有云就可以做好,我肯定无条件支持华为。
华为目前是投入2000人在OpenStack公有云业务上,什么概念,2000人一年的工资是多少?如果平均是50万,1年工资就10亿。
华为有钱,可以长期投入,我没疑问。不过如何应对未来的技术的变化,很可能出现的Kubernetes管理资源,而不是IaaS来管理资源呢?
我也只能祝华为好运,因为OpenStack真的靠你了。
blog已经有两年时间没动过。上次把内存改成2G后,使用了1年,又出现内存不足,无法连接数据库的问题。最终解决的办法就是升级php。
先升级系统,发现update,也是把系统升级到centos 7.4
yum update
查看升级结果
# uname -a Linux chenshake.com 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
yum install https://centos7.iuscommunity.org/ius-release.rpm
删除php
yum remove php-common mod_php php-cli
升级php7
yum install php70u php70u-pdo php70u-mysqlnd \ php70u-opcache php70u-xml php70u-gd \ php70u-devel php70u-mysql
重启httpd
systemctl restart httpd
查看结果
# php -v PHP 7.0.26 (cli) (built: Nov 27 2017 11:26:34) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.26, Copyright (c) 1999-2017, by Zend Technologies
最近朋友给别人介绍我是做OpenStack,对方提了一句,如何用一句话告诉我OpenStack是什么。
我想OpenStack就是AWS公有云的开源实现。功能可以满足企业私有使用。
接下来我就要给朋友深入介绍一下OpenStack的技术相关内容,对方是Python开发者,我就努力写一篇OpenStack的介绍文章,让技术人员可以快速了解OpenStack。
在2010年的时候,AWS当时在国外已经是风生水起。当时云计算的老二,Rackspace,觉得无法和AWS继续拼下去。那么就决定联合多家一起搞一个OpenStack,和AWS PK一下。
Nova是美国宇航局内部的IaaS项目,就是一个用python写的IaaS管理平台,不过维护的成本很高,所以美国宇航局和Rackspace达成共识,就把nova项目交出来,大家一起搞OpenStack项目。
Rackspace拿出自己的对象存储产品进行开源,就是swift。项目在2010年7月份成立。
对于swift来说,确实是从Rackspace生产环境拿下了的代码,支撑过10个PB的对象存储代码。不过在OpenStack的后续发展中,swift,并不是必须的,因为很多企业,也根本用不上。那么后续我就基本不会提到swift这个组件。
OpenStack是全球最大的python的项目,也应该是最大的公开的CI,CD项目。
对于OpenStack项目来说,每个项目结构是差不多
OpenStack目前官方管理项目其实不少,未来管理OpenStack项目,官方也自己开发了一些工具,成立了一些项目。不过对用户能用到,真正目前能用的项目,其实是不多的。我就介绍几能用的项目
最早的nova,其实是一个具备基本功能的IaaS平台,能管理计算,存储和网络。不过这个并不符合OpenStack当初的设计理念。所以就对nova项目进行拆分。
到了现在nova项目,就管理hyper-v,其实在真实场景下,基本都是kvm的天下,剩下的别的hyper-v,基本都是市场行为。
Nova,更多的是intel,红帽的天下,很多硬件,kvm的特性,都加入到nova上。
nova对应AWS的EC2,很多术语都是来自AWS,
目前OpenStack的nova开发,其实已经进入稳定的阶段,已经很难有更大的突破,更多的是在虚拟机迁移等上面做点工作。
这是提供身份验证的项目,那么他本身对外只是提供api接口,通过底下调用各个组件来实现身份验证,例如mysql,ldap,AD来实现身份验证。
作为keystone,还有一个很重要的功能,所有openstack服务的endpoint,就是告诉用户,你访问的服务的地址。这个有点类似现在的微服务,不过就是在微服务里,服务是自动注册。对于OpenStack来说,各个服务,需要手工注册到keystone上,并且创建服务的账号。
对于nova来说,就是需要在keystone注册一下,告诉用户,nova的服务的地址是什么。这样就可以使用相关服务。
keystone是OpenStack所有服务的入口。
镜像管理,创建虚拟机的镜像,都是通过这个项目来管理。功能其实还是比较单一。未来加快虚拟机的创建,大家想到的就是把glance的存储和虚拟机的存储合并在一起,这样创建虚拟机的时候,直接做一个link,这样就创建出来一个虚拟机。所谓的秒级创建,就是差不多这个意思。
这是OpenStack的存储管理,目的就是管理卷。存储可以是Ceph,也是可以商业存储。
以前aws的玩法是:创建虚拟机,系统盘是固定大小,你可以选择通过EBS,也就是OpenStack的cinder,创建一块硬盘,挂载到虚拟机里。
由于系统盘是存放机器本地盘里,会导致不少问题,例如无法迁移,机器挂掉,数据就丢失,用户比较爱在系统盘里存放数据等。
那么大家就想到,把系统盘,也放到存储上,这就所谓 boot from volume。这样就可以搞定虚拟机的迁移。
目前主流就是用Ceph作为存储。这样虚拟机可以实现迁移。
这是OpenStack管理网络的项目。对于网络厂商来说,这个项目是比较要命的,和存储厂商的态度是完全不一样的。neutron实现的功能,就是让用户可以自己创建网络,router,这就是所谓SDN。
其实aws在2010年以前就实现这个功能,OpenStack,其实是一致到2015年,这个功能才算是能用。目前来说,已经算是可用。在100个节点的环境下,还是能顶住的。
网络上,大家玩的最多的就是负载均衡,那么对neutron来说,这个他是不管的,交给另外一个项目来实现。
这就是OpenStack的Dashboard,UI。目前是用python开发的,前端的用户体验很差,后来改成用js开发,目前也在调整中。
Horizon上的功能,仅仅是部分的OpenStack功能,不少功能,没有在UI上实现。需要命令行下通过client进行操作。
以前openstack每个项目都有一个client端,后来进行了合并,就一个客户端,openstack-client。你就可以在上面利用命令行去管理各个项目。
对于OpenStack来说,项目间的通讯,我的理解就是通过api,消息队列来进行的。OpenStack目前大家使用的基本就是mysql和rabbitmq。
对OpenStack来说,压力最大的是消息队列。所有的虚拟机,创建,删除,都是要经过消息队列的。
OpenStack的规模,其实目前最主要的局限就是消息队列的承载能力。
其实目前OpenStack的部署架构基本都是一样的。基本上就是通过3个控制节点,把服务都装在上面实现HA,这点上,其实和K8s,也是非常相像。
目前主流的HA实现方式,就是haproxy+keeplive来实现。
对于openstack来说,所谓产品,其实基本就是一套部署工具。2017年的时候,其实目前的部署工具,就剩下那么几个。
openstack的复杂性,升级,其实单纯靠OpenStack自身,或者操作系统厂商,代价是很高的。最后发现必须利用容器,才能彻底解决问题。
kolla就是目前最好的OpenStack部署工具。
今天练习了一下使用github。当然肯定是用命令下来玩。
我需要创建一个gittest的repo,需要使用github的api接口才行。
curl -u 'shake.chen@gmail.com' \ https://api.github.com/user/repos -d '{"name":"gittest"}'
curl -X DELETE -u "shake.chen@gmail.com" \ https://api.github.com/repos/shake/gittest
由于github默认采用https,通过https的缺点就是不能使用密钥,每次push都是需要输入用户名和密码。那么可以用下面的办法,只需要第一次输入后,就会保存起来。
git config --global credential.helper cache
cache生效时间15分钟
git config --global credential.helper 'cache --timeout=3600'
git config --global credential.helper store
git config --global credential.helper store git config --list git config --global user.name "shake" git config --global user.email "shake.chen@gmail.com" git config --list
下面就是我的步骤
cd /home mkdir test cd test echo "# ks" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/shake/gittest.git git push origin master