2019年5月,Red Hat发布了OpenShift 4.3(GitHub),但文档尚不完善。
$ ansible-playbook -i inventory/hosts playbooks/scaleup.yml
$ ansible-playbook -i inventory/hosts playbooks/upgrade.yml
Infrastructure components
User facing components
从概念上讲,Operator将人类运营知识编码到软件中以降低运营复杂性。Operator就像软件供应商工程师团队的扩展,监视 Kubernetes 环境,并利用其当前状态实时决策,无缝处理升级、自动响应故障等。
从技术上讲,Operator是一种打包、部署和管理 Kubernetes应用程序的方法。
Operator功能
Operator成熟度模型
封装在Operator中的管理逻辑复杂程度可能有所不同,根据Operator成熟度的级别将成熟度模型定义为五个阶段:
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 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(中国区不支持)。
编译步骤:
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-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
温情时刻 - 2019 TNF 100运艳桥夺冠
OpenShift Container Platform 4.1 Documentation
OpenShift 4: Install Experience
OpenShift Installer
CoreOS
转载于:https://blog.51cto.com/7308310/2390578