安装 OpenShift OKD 3.11

4 篇文章 0 订阅
2 篇文章 0 订阅

一. OpenShift 简介

Openshift是一个开源的容器云平台,底层基于当前容器的事实标准编排系统Kubernetes和docker引擎,企业可以基于此平台搭建内部Paas平台,贯穿CI/CD流程,> 提高企业IT效率,拥抱DevOps和敏捷开发

二. Paas简介

PaaS(Platform as a
Service,平台即服务)最早是在云计算领域被提出。如下图所示,将企业IT服务分为九层,传统自建数据中心九层设施都需要企业自己维护,成本极高。而云计算架构就相当于把九层架构中的底层一部分外包给云计算服务提供商,根据外包的层次不同,分为IaaS(Infrastructure
as a Service,基础设施即服务),PaaS,SaaS(Software as a Service)三层。 IaaS
层为基础设施运维人员服务、提供计算、存储、网络以及其他硬件资源,云平台使用者可以在上面部署和运行包括操作系统和应用程序在内的任意软件,无需再为基础设施的管理而分心。
PaaS
层为应用开发人员服务,提供支撑应用运行所需的软件运行时环境,相关的工具与服务,如数据库服务、日志服务、监控服务等,让应用开发者可以专注于交付业务价值的代码而无需关心应用所需的基础环境与工具。
SaaS
层为一般用户(最终用户)服务,提供了一套完整可用的软件系统,让一般用户无需关心技术细节,只需通过浏览器、应用客户端的方式就能使用部署在云上的应用服务。SaaS
产品比如客户关系管理系统、邮件、虚拟桌面、通信、游戏等。

三. OKD简介

OKD是Kubernetes的发行版,针对持续应用程序开发和多租户部署进行了优化。OKD在Kubernetes之上添加了开发人员和运营工具,以便为小型和大型团队实现快速的应用程序开发,轻松部署和扩展以及长期生命周期维护。
OKD是嵌入了Red Hat OpenShift中的上游Kubernetes发行版,并通过安全性和其他集成概念进行扩展。
OKD在github和文档中也称为Origin。

四. OpenShift层次结构

OpenShift
v3是一个分层系统,旨在尽可能准确地公开底层Docker格式的容器镜像和Kubernetes概念,重点是帮助开发人员轻松组合应用程序。例如,安装Ruby,推送代码和添加MySQL。
其中,docker提供了打包和创建基于linux的轻量容器镜像的抽象;Kubernetes提供了集群管理以及在多台主机上编排容器的功能。OKD提供了以下功能
: 帮助开发人员管理、构建和部署源代码 管理和推广大规模的流进系统的镜像 大规模的应用管理 组织大型开发人员组织的团队和用户跟踪
支持群集的网络基础结构 Openshift 实际上由三部分组成,核心部分实现容器的调度是封装的 Kubernetes,
除此之外还有一个内置的镜像仓库(Image Registry),这个仓库是可选的,Openshift 也可以配置使用 Dockerhub
或者企业自己的镜像仓库,最外层部分是一个友好的 Web 界面,用于展示和操作 Openshift 的资源。 如下图所示,Openshift
要成为一个完整的数字化平台需要依赖于两个外部系统,一个代码库,一个是持续集成服务,事实上这两个外部服务也是可以跑在 Openshift
里面的。右边的灰色矩形就是 Openshift 的主要架构了,它的上层是一个路由(Router),用于 DNS
解析和转发,确保用户能够调用到 Openshift 集群中的服务。中间部分是跑在 RHEL 操作系统上的 Kubernetes
集群,侧面是外部存储服务,因为集群里的计算单元是漂浮的,所以通常 Kubernetes 集群只提供计算能力,数据持久外需要依赖外部的比如说
S3,EBS 等云服务商提供的存储服务。最下层同样也是由云服务商提供的基础设施服务。

All-In-One安装

1.映射hosts,配置ssh免密登陆自己
 [root@oc-master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.110.153	oc-master

[root@oc-master ~]# ssh-keygen 
Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:HDBdoy4vy2mPjgtu1GAv0XfukCeaspOk9/XbLs//7jE root@oc-master
The key's randomart image is:
+---[RSA 2048]----+
|      o. .o      |
|       o.. .     |
|   .    o        |
|  + . .o..       |
| . = ..+S        |
|  + o +oo        |
| +.o oo=.     E  |
|..*.o+.*oo     o |
| oo=++*.+==..++  |
+----[SHA256]-----+

[root@oc-master ~]# cat .ssh/id_rsa.pub > .ssh/authorized_keys


2.配置yum源,安装ansible >=2.6
[root@oc-master ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@oc-master ~]# yum -y install epel-release
[root@oc-master ~]# yum -y install ansible
3.从 GitHub 克隆 openshift-ansible 存储库
[root@oc-master ~]# git clone -b release-3.11 https://github.com/openshift/openshift-ansible
4.在ansible,hosts文件后添加
[root@oc-master ~]# tail -20 /etc/ansible/hosts

[OSEv3:children]
masters
nodes
etcd

[OSEv3:vars]
openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability,package_version
ansible_ssh_user=root
openshift_release="3.11"
openshift_deployment_type=origin
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_docker_options="--selinux-enabled=false"
openshift_master_htpasswd_users={'admin': '$apr1$gfaL16Jf$c.5LAvg3xNDVQTkk6HpGB1'}
[masters]
oc-master
[etcd]
oc-master
[nodes]
oc-master openshift_schedulable=true openshift_node_group_name='node-config-master-infra-compute'
4.跳过 SELinux 检查, 方法如下:
[root@oc-master ~]# cat openshift-ansible/roles/openshift_node/tasks/selinux_container_cgroup.yml
- name: Setting sebool container_manage_cgroup
  seboolean:
    name: container_manage_cgroup
    state: yes
    persistent: yes
  when:
    - ansible_selinux
    - ansible_selinux.status == 'enabled'
5.在 master 节点上使用 ansible 安装 OpenShift 非常简单,仅需运行 prerequisites.yml 和 deploy_cluster.yml 两个 playbook 。
[root@oc-master ~]# ansible-playbook openshift-ansible/playbooks/prerequisites.yml
[root@oc-master ~]# ansible-playbook openshift-ansible/playbooks/deploy_cluster.yml
6.访问 OpenShift Origin 主页

OpenShift 集群管理页面:
https://oc-master:8443
用户:admin
密码:handhand

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值