OpenShift 4预览

2019年5月,Red Hat发布了OpenShift 4.3(GitHub),但文档尚不完善。

OpenShift 4新特性

  • 自我管理,自动化安装、修补、更新
  • 使用不同类别的Operator来执行集群操作,并在集群上运行服务供应用程序使用
  • 全新的安装工具OpenShift Installer,installer充当安装向导,提示用户输入必要的参数,并为其他内容提供合理的默认值。Installer适合新手到专家,为高级用户提供了不同级别的自定义功能。Installer目前支持AWS,但不支持中国区。未来OpenShift Container Platform将支持在更多的云平台和裸机上使用Installer Provisioned Infrastructure或User Provisioned Infrastructure。所有集群的control plane machines必须使用Red Hat Enterprise Linux CoreOS (RHCOS)操作系统。
  • OpenShift Ansible仅用于扩展或升级
$ ansible-playbook -i inventory/hosts playbooks/scaleup.yml
$ ansible-playbook -i inventory/hosts playbooks/upgrade.yml
  • Cluster machine类型:bootstrap、master(control plane)、worker(compute)

组件

Infrastructure components

  • OpenShift API server
  • Kubernetes API server
  • Kubernetes controller manager
  • Kubernetes nodes/kubelet
  • CRI-O
  • RedHat CoreOS
  • Infrastructure Operators
  • Networking (SDN/Router/DNS)
  • Storage
  • Monitoring + Telemetry
  • Security
  • Authorization/Authentication/Oauth
  • Logging

User facing components

  • Workloads (Deployments, Jobs, ReplicaSets, etc)
  • Operator Lifecycle Manager
  • Builds
  • Image Registry
  • Image Streams

Operator

从概念上讲,Operator将人类运营知识编码到软件中以降低运营复杂性。Operator就像软件供应商工程师团队的扩展,监视 Kubernetes 环境,并利用其当前状态实时决策,无缝处理升级、自动响应故障等。
从技术上讲,Operator是一种打包、部署和管理 Kubernetes应用程序的方法。

Operator功能

  • 可重复的安装和升级
  • 对每个系统组件进行持续的运行状况检查
  • OTA(Over-the-air)更新OpenShift组件和ISV内容
  • 封装现场工程师的知识并将其传播到所有用户

Operator成熟度模型
封装在Operator中的管理逻辑复杂程度可能有所不同,根据Operator成熟度的级别将成熟度模型定义为五个阶段:

CoreOS

CoreOS成立于2013年,致力于更安全、更可靠的云原生开源软件和产品。2018年初Red Hat收购了CoreOS,目标将OpenShift Container Platform打造为最强大、最安全、最易管理的企业Kubernetes平台。

CoreOS Container Linux
CoreOS Container Linux是基于Linux内核的轻量级操作系统,内置Docker和rkt容器引擎,支持Amazon EC2、DigitalOcean、Google Compute Engine、Microsoft Azure等云平台。CoreOS裁减了传统linux中无用的软件,减少了依赖冲突和attack surface,系统更小、更紧凑、更安全。

CoreOS rkt
CoreOS rkt是Docker容器的早期替代方案,然而从未被广泛采用,Docker仍然是事实上的行业标准,是Kubernetes的主要组件。虽然Red Hat计划整合许多CoreOS技术,但不会进一步开发或推出对rkt的商业支持,rkt的遗产将是它如何影响Docker的进化,比如在安全方面。

安装OpenShift 4

OpenShift Container Platform有两种基本类型:Installer Provisioned Infrastructure (IPI) clusters和User Provisioned Infrastructure (UPI) clusters。使用IPI集群,OpenShift管理集群的所有方面,包括操作系统本身。使用UPI集群,必须自己管理和维护集群资源,包括:control plane、compute machine、load balancer、networking、DNS等。IPI目前仅支持AWS,UPI支持AWS、vSphere、Bare metal。

下面以IPI为例,介绍在AWS平台使用OpenShift Installer安装OpenShift。因不具备环境,安装部分未进行测试。

开始之前需要安装AWS CLI、配置AWS账户、配置Route53(中国区不支持)。

  1. 从源码编译或下载OpenShift Installer

编译步骤:
Installer使用GO语言编写,需要先安装go:

$ sudo yum install golang-bin gcc-c++

配置GO环境变量:

$ export GOROOT=/usr/lib/golang
$ export GOPATH=$HOME/go
$ export PATH=$GOPATH/bin:$PATH

说明:GOPATH为go的工作空间,应包含三个子目录src、pkg、bin

验证go:

$ go version
$ go env

安装dep:

$ curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

检查dep:

$ dep version

下载源码:

$ mkdir -p $GOPATH/src/github.com/openshift
$ cd $GOPATH/src/github.com/openshift
$ git clone https://github.com/openshift/installer.git

注意:目录为src/github.com/openshift

编译installer:

$ cd installer
$ hack/build.sh

编译成功后将生成bin/openshift-install。

  1. 安装OpenShift,按提示输入参数(需要pull secret,以下内容未测试)
$ ./openshift-install create cluster
? Platform aws
? Region us-east-1
? Base Domain openshiftcorp.com
? Cluster Name prod
? Pull Secret [? for help] *************************
INFO Creating cluster...            
INFO Waiting up to 30m0s for the Kubernetes API... 
INFO API v1.12.4+f391adc up            
INFO Waiting up to 30m0s for the bootstrap-complete event... 
INFO Destroying the bootstrap resources...    
INFO Waiting up to 30m0s for the cluster to initialize... 
INFO Waiting up to 10m0s for the openshift-console route to be created... 
INFO Install complete!              
INFO Run 'export KUBECONFIG=/home/user_id/install/auth/kubeconfig' to manage the cluster with 'oc', the OpenShift CLI. 
INFO The cluster is ready when 'oc login -u kubeadmin -p xxxx succeeds (wait a few minutes). 
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.prod.openshiftcorp.com 
INFO Login to the console with user: kubeadmin, password: xxxx-xxxx-xxxx-xxxx
  1. 安装OpenShift CLI

温情时刻 - 2019 TNF 100运艳桥夺冠

参考文档

OpenShift Container Platform 4.1 Documentation
OpenShift 4: Install Experience
OpenShift Installer
CoreOS

转载于:https://blog.51cto.com/7308310/2390578

你可能感兴趣的:(OpenShift 4预览)