OpenShift4预览
2019年5月,Red Hat发布了OpenShift 4.3(GitHub),但文档尚不完善。
成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为道县企业提供专业的成都网站设计、成都网站制作、外贸网站建设,道县网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
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(中国区不支持)。
- 从源码编译或下载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。
- 安装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
- 安装OpenShift CLI
温情时刻 - 2019 TNF 100运艳桥夺冠
参考文档
OpenShift Container Platform 4.1 Documentation
OpenShift 4: Install Experience
OpenShift Installer
CoreOS
网页名称:OpenShift4预览
文章网址:http://myzitong.com/article/jjddpd.html