带着多项新功能,Openshift3.9重磅发布!

一、Openshift3.9发布

今天,Openshift3.9正式发布。

Openshfit3.9对应Docker的版本是1.13,对应Kubernetes 1.9。

我们看一下与OCP3.6和3.7进行对比的新功能:

注:下表GA代表正式发布,TP代表技术预览。

接下来,我们对重要的更新功能,做大致的介绍。

二、CRI-O v1.9

在安装Openshift3.9的时候,可以选择启动CRI-O功能(ansible playbook):

openshift_use_crio=true

CRI-O带来的好处有:

最小和安全的体系结构。

出色的规模和性能。

运行任何Open Container Initiative(OCI)或Docker镜像的能力。

熟悉的操作工具和命令。

当然,启用CRI-O,Openshift依然需要安装docker。docker会继续负责build操作以及将build成功的镜像push到docker-registry中。

三、PV 相关

在Openshift3.9中,可以在线扩展PVC的大小,指出的存储有:GlusterFS,、Cinder、GCE PD.

PV Resize的过程:

1.创建存储类:allowVolumeExpansion=true.

2.创建基于allowVolumeExpansion=true存储类的PVC

3.增加PVC的大小

$ oc edit pvc claim-name,然后修改spec.resources.requests.storage

4.底层PV自动增加

此外,Openshift3.9增加了对GlusterFS的监控(在此之前,Metrics监控CPU、内存、网络IO),例如如下指标:

kubelet_volume_stats_capacity_bytes

kubelet_volume_stats_inodes

kubelet_volume_stats_inodes_free

kubelet_volume_stats_inodes_used

kubelet_volume_stats_used_bytes

四、网络

在Openshift3.9中,网络部分发布了Namespace-wide Egress IP功能。

功能是:一个项目中的pod,如果要访问外部(本openshift集群),那么这个项目中的所有pod将会共享一个固定的源IP。这样有利于外部防火墙设置策略。

例如,我们给一个项目增加一个固定的Egress IP:192.168.1.100

oc patch netnamespace MyProject -p '{"egressIPs": ["192.168.1.100"]}'

接下来,将Egress IP绑定到node上:

oc patch hostsubnet node1 -p \ '{"egressIPs": ["192.168.1.100", "192.168.1.101", "192.168.1.102"]}'

做了以上设置以后,一个项目中的pod想对外通讯,将会从指定的node,使用设定的Egress IP,通过NAT方式对完通讯。

五、Master功能的增强

Openshift3.9增加集中审计如下内容:

The event timestamp.

The activity that generated the entry.

The API endpoint that was called.

The HTTP output.

The item changed due to an activity, with details of the change.

The user name of the user that initiated an activity.

The name of the namespace the event occurred in, where possible.

The status of the event, either success or failure.

User login and logout from (including session timeout) the web interface, including

unauthorized access attempts.

Account creation, modification, or removal.

Account role or policy assignment or de-assignment.

Scaling of pods.

Creation of new project or application.

Creation of routes and services.

Triggers of builds and/or pipelines.

Addition or removal or claim of persistent volumes.

审计日志的配置在master配置文件中:

配置以后,日志中将会有类似如下信息:

{"kind":"Event","apiVersion":"audit.k8s.io/v1beta1","metadata":

{"creationTimestamp":"2017-09-

29T09:46:39Z"},"level":"Metadata","timestamp":"2017-09-

29T09:46:39Z","auditID":"72e66a64-c3e5-4201-9a62-

6512a220365e","stage":"ResponseComplete","requestURI":"/api/v1/securitycon

textconstraints","verb":"create","user":

{"username":"system:admin","groups":["system:clusteradmins","

system:authenticated"]},"sourceIPs":["10.8.241.75"],"objectRef":

{"resource":"securitycontextconstraints","name":"scclg","

apiVersion":"/v1"},"responseStatus":{"metadata":{},"code":201}}

六、监控和日志

目前监控和日志的两个新功能还是TP的状态。

日志方面的新功能是:系统和pod的日志可以输出到外部的fluentd。

监控方面的新功能,是Prometheus,目前支持的组件版本有:

prometheus 2.1.0

Alertmanager 0.14.0

AlertBuffer 0.2

node_exporter 0.15.2

七、开发者体验提升

在之前版本的Openshift中,Jenkins的pod使用的内存,很难根据JVM spawn的内存较为合适的分配(过大或过小)。而在Openshift3.9中,通过脚本可以自动进行监控,确保分配内存的合理。

此外,Openshift3.9支持cli的二进制扩展。也就是说,可以编写客户化的oc cli:

$ oc plugin great-plugin -f value

增加openshift_buildoverrides_tolerations参数。

我们知道,默认情况下,开发者可以在project中指定bc,例如配置Git cloning的proxy。

而为了统一管理,Openshift集群管理员可以配置全局的参数,全局参数参数有两种模式:

1.不覆盖项目中的bc配置,单如果项目中的bc没有对此进行配置,则全局配置生效,我们叫这种模式为BuildDefaults,它包含如下参数:

  • openshift_builddefaults_http_proxy
  • openshift_builddefaults_https_proxy
  • openshift_builddefaults_no_proxy
  • openshift_builddefaults_git_http_proxy
  • openshift_builddefaults_git_https_proxy
  • openshift_builddefaults_git_no_proxy
  • openshift_builddefaults_image_labels
  • openshift_builddefaults_nodeselectors
  • openshift_builddefaults_annotations
  • openshift_builddefaults_resources_requests_cpu
  • openshift_builddefaults_resources_requests_memory
  • openshift_builddefaults_resources_limits_cpu
  • openshift_builddefaults_resources_limits_memory

2.覆盖单个项目中的bc配置。我们叫这种模式为:BuildOverrides,它包含的参数有:

  • openshift_buildoverrides_force_pull
  • openshift_buildoverrides_image_labels
  • openshift_buildoverrides_nodeselectors
  • openshift_buildoverrides_annotations
  • openshift_buildoverrides_tolerations

而Openshift3.9增加的参数,就是openshift_buildoverrides_tolerations。这些参数可以在安装Openshift的ansible playbook进行设置:

八、Web UI的提升

界面增加catelog菜单,方便查找

在项目中快速查找catelog:

自定义首页:

此外,Openshift3.9允许配置Web UI超时时间(Openshift安装的ansible playbook中配置):

openshift_web_console_inactivity_timeout_minutes=n

Openshift3.9中,web ui可以部署到单独的pod中。

魏新宇

"大魏分享"运营者、红帽资深解决方案架构师

专注开源云计算、容器及自动化运维在金融行业的推广

拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、ITIL V3、Cobit5、C-STAR、AIX、HPUX等相关认证。

原文发布于微信公众号 - 大魏分享(david-share)

原文发表时间:2018-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Linux 新手必会的21条命令合集

1517
来自专栏木头编程 - moTzxx

我在对PHPAdmin进行数据库文件导入时遇到的几个问题,备忘

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

774
来自专栏更流畅、简洁的软件开发方式

让你的笔记本更快一点——我的笔记本的性能测试和虚拟硬盘(把内存当成硬盘)的使用感觉

    以前是使用公司的笔记本,但是现在辞职没有本本用了,去外地的时候不太方便,于是一咬牙买了一个自己的本本(惭愧呀,人家一咬牙拿出几十万开个公司创业,而我只能...

22710
来自专栏云计算D1net

不只是编排引擎,OpenStack Heat之应用部署实践

作为OpenStack中的编排引擎,Heat能够出色的完成编排任务,井井有条地管理编排出来的资源。但同时,Heat也是一个出色的应用部署引擎,它提供了一套内置的...

3575
来自专栏CSDN技术头条

进阶指南|三个月大数据工程师学习计划

本文来自作者在GitChat(ID:GitChat_Club)上的精彩分享,CSDN独家合作发布。 申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门...

26610
来自专栏DevOps时代的专栏

15个私有云上的 DevOps 开源工具

在可维护性,可靠性,效率和安全性方面,DevOps 为私有云在改进操作流程方面发挥着重要的作用。私有云是一个由许多硬件和软件组件组成的复杂系统。 对于任何支持的...

4205
来自专栏Petrichor的专栏

git: 用 ssh协议 代替 http协议,加速传送

每次在实验室往服务器push修改,要么是 git push origin matser 试个好几次,要么就是报错如下:

1093
来自专栏王磊的博客

八伟大的工具,Windows用户永远都不想错过

有许多的应用程序你可以找到,但是获得免费并且好用 的程序不是一件容易的事情,每当你需要这样的软件的时候,你就会网上搜啊搜,结果下载下来一运行达不到想要的效果,这...

3966
来自专栏北京马哥教育

20个命令行工具监控 Linux 系统性能

对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。我已经有5年 Linux 管理员的工作经历,知道如何监控系统使...

2859
来自专栏杨建荣的学习笔记

服务器进程异常的原因分析(r6笔记第74天)

现在系统监控的工作处于过渡期,即对于Oracle的还是保留了gridcontrol的监控和报警,同时也保留了zabbix的报警,在发生问题的时候想看看哪个能监控...

3324

扫码关注云+社区