精华内容
下载资源
问答
  • 基于 Mesos 搭建 PaaS 平台你可能需要修的路.pdf
  • 前者主要描述了常用编程语言和框架在CloudFoundry PaaS中是如何使用的,后者则告诉了我们几种常用数据库和消息中间件在CloudFoundry PaaS中的使用方法。 值得一提的是,开发人员如果想把自己的应用跑PaaS上,就...
  • paas平台搭建

    千次阅读 2019-04-30 16:33:39
    公司项目中经常会用到缓存、消息队列等中间件,通常是直接配置在各个服务中,项目一多资源管理就比较混乱且资源配置比较繁琐。paas平台做资源集中管理,业务系统通过sdk集成服务,简化业务调用,...paas平台搭建 ...

    公司项目中经常会用到缓存、消息队列等中间件,通常是直接配置在各个服务中,项目一多资源管理就比较混乱且资源配置比较繁琐。paas平台做资源集中管理,业务系统通过sdk集成服务,简化业务调用,方便资源管理。文档写在思否上了,点击链接可以查看
    paas平台搭建

    展开全文
  • OpenShift实现PaaS平台搭建

    千次阅读 2019-06-03 17:05:56
    OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。 OpenShift是一个私有的PaaS(Platform-as-...

    OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。

    OpenShift是一个私有的PaaS(Platform-as-a-Service)解决方案,主要用来在容器中搭建、部署以及运行应用程序。它是基于Apache 2.0许可的开源软件, 并且发行了两个版本, 一个是社区版, 一个是企业版。

    第三版的起源

    从2014年7月开始,OpenShift就己经着力于研究一个非常出色的项目,该项目是将技术架构和与Docker、Kubernetes整合到一起(现在这是一件很常见的事)。

    一年前启动这个项目对于OpenShift来说是一个大胆而且充满风险的的决策。确实如此,当时云平台的竞争处于白热化的巅峰时期,而此时OpenShift就决定冒着风险启动这样一个非常重要的重建项目,这个风险主要来自于他们需要停止新特性的开发并妥协旧版本之间的兼容性问题。但是现在,我们相信他们作了一个正确的决定。

    到目前为止,社区版本联合了86名GitHub上(GitHub是红帽上10个最活跃项目之一)的开发志愿者。在12个月中己经进行了16次的迭代,并且刚刚发行了第一版。

    尽管这个方案主要是由红帽在推动,但它非常依赖Kubernetes(来源于Google)。由此引发了到底由谁来支配和主导的问题,该问题依赖于两个公司之间的协作和版本基准,Google开发出新特性后会发生什么?他们会关注Kubernetes还是OpenShift?很显然,这个问题还没有答案。

    但是,Google的技术支持部门己经确认,由两家公司同时主导只会给OpenShift带来更多益处。它将成为比Docker企业版更具竟争力的产品(机器、组建和群)。

    自动构建和部署应用:这怎么实现

    OpenShift V3提供了3种来自动构建应用的方法。

    • Docker-File模式:通过向OpenShift提供指向Docker-File以及其依附关系的源码管理器的URI来自动构建一个Docker容器。

      Openshift3-Docker-Build-1024x290.png

    • Source-To-Image模式(STI):允许通过提交应用的源码到OpenShift来自动构建一个应用。(就像Heroku中的buildpacks)。

      Openshift3-STI-Build-1024x430.png

    • 自定义构建模式:允许提供自己的应用来构建逻辑,这是通过提供一个OpenShift Docker的镜像实现的。

      Openshift3-Custom-Build-1024x430.png

    当注册表有新的应用映像版本发布或者应用配置有了更新时,OpenShift 3还允许定义一个自动的部署策略。

    Openshift3-Deployment-Strategy-1024x430.png


    为了完成这些构建和部署特性,OpenShift 3提供了把它自己的应用蓝图定义成用JSON或Yaml格式的模板文件的功能。这些蓝图描述了应用的架构拓扑和容器的部署策略。下面的图表描述了在OpenShit中,如何为3层应用将模板的不同组件进行组合的。

    Architecture-OpenShift-v3-OCTO-Technology-Edouard-DEVOUGE-1024x695.png


    在“模板”中组合组件,一定程度上继承了Kubernetes的概念,需要记住以下主要的对象。

    • 一个“POD”是一个Docker容器的运行环境(如果需要共享本地的资源, 我们将在单独的POD中部署两种类别的容器)
    • 一个“服务”是一个入口,抽象出一个均衡访问负载到一组相同的容器,理论上,最少是一个服务对应一个架构层。
    • 一个“服务部署者”或“部署配置”是一个对象,用来描述基于触发器的容器的部署策略。(比如,当Docker注册表中有新版本的映象时,需重新部署)。
    • 一个“复制控制器”是一个技术组件,主要负责POD的弹性。
    • 一个“路由”是用来显露一个应用的入口(域名解析,主机名或VIP)

    通过它的多重部署机制和设置自身“蓝图”的能力,OpenShift第三版适用于大多数的复杂应用架构。

    引擎盖下的优雅架构

    OpenShift 3的架构可以作为单机模式部署(使用Docker镜像“openshift/origin”),也可以作为分布式模式部署。在随后的案例当中,用了两种服务器角色,主服务器和节点。

    “主服务器”节点的功能是:

    • 处理来自于命令行或Web界面的API请求。
    • 构建映象和部署容器。
    • 确保POD复制的弹性。

    “主服务器”依赖于基于etcd的分布式目录,主要用来提供配置共享和服务发现。

    “节点”主要用来作为PODS的宿主和运行容器(应用和注册表)。

    Architecture-OpenShift-v3-OCTO-Technology-1024x619.png


    架构是分布式的、可扩展的和具有弹性的。但是平台自身暂时还不支持自动扩展能力:目前可提供的和底层服务器的容量计划只能通过手动调整。

    可通过自身的REST API、CLI、Web portal来访问和管理平台。

    Portail-OpenShift-v3-OCTO.png

     

    OCTO的观点

    OpenShift 3在介于“平台即服务”和“容器即服务”的世界间架起了一个有趣的桥,红帽提出了一个大胆的解决方案和一个最先进的架构,我们非常感谢“蓝图”的规格格式,来定义架构的需求格式和部署的编排。

    在Beta 3版本中,OpenShift平台并没有强烈关注平台的可操作性,暂时并不建议将它应用在生产环境中,但是用户的各种问题是可以在路线图中找到的。

    我们相信在OpenShift 3中建模一个应用将会是一份新的工作,它需要新的技能,以便可以提出适当的问题,比如:如何组织容器?是否应该使用路由或服务?如何处理数据(一致性、复制、备份)?如何管理多重租用?如何集成开发和部署软件工厂?

    总而言之,OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数复杂的Web架构,即使是数据的管理和外部服务的集成还没有得到完全应用。

    我们相信OpenShift 3对一切都尽在掌握,它将成为基于Docker的私有PaaS平台领域的参照。

    来源:http://dockone.io/article/564

    展开全文
  • OpenShift3实现PaaS平台搭建

    万次阅读 2017-07-17 09:41:19
    OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。 OpenShift是一个私有的PaaS(Platform-...
    OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。
    

    OpenShift是一个私有的PaaS(Platform-as-a-Service)解决方案,主要用来在容器中搭建、部署以及运行应用程序。它是基于Apache 2.0许可的开源软件, 并且发行了两个版本, 一个是社区版, 一个是企业版。

    第三版的起源

    从2014年7月开始,OpenShift就己经着力于研究一个非常出色的项目,该项目是将技术架构和与Docker、Kubernetes整合到一起(现在这是一件很常见的事)。

    一年前启动这个项目对于OpenShift来说是一个大胆而且充满风险的的决策。确实如此,当时云平台的竞争处于白热化的巅峰时期,而此时OpenShift就决定冒着风险启动这样一个非常重要的重建项目,这个风险主要来自于他们需要停止新特性的开发并妥协旧版本之间的兼容性问题。但是现在,我们相信他们作了一个正确的决定。

    到目前为止,社区版本联合了86名GitHub上(GitHub是红帽上10个最活跃项目之一)的开发志愿者。在12个月中己经进行了16次的迭代,并且刚刚发行了第一版。

    尽管这个方案主要是由红帽在推动,但它非常依赖Kubernetes(来源于Google)。由此引发了到底由谁来支配和主导的问题,该问题依赖于两个公司之间的协作和版本基准,Google开发出新特性后会发生什么?他们会关注Kubernetes还是OpenShift?很显然,这个问题还没有答案。

    但是,Google的技术支持部门己经确认,由两家公司同时主导只会给OpenShift带来更多益处。它将成为比Docker企业版更具竟争力的产品(机器、组建和群)。

    自动构建和部署应用:这怎么实现

    OpenShift V3提供了3种来自动构建应用的方法。
    • Docker-File模式:通过向OpenShift提供指向Docker-File以及其依附关系的源码管理器的URI来自动构建一个Docker容器。
      Openshift3-Docker-Build-1024x290.png
    • Source-To-Image模式(STI):允许通过提交应用的源码到OpenShift来自动构建一个应用。(就像Heroku中的buildpacks)。
      Openshift3-STI-Build-1024x430.png
    • 自定义构建模式:允许提供自己的应用来构建逻辑,这是通过提供一个OpenShift Docker的镜像实现的。
      Openshift3-Custom-Build-1024x430.png


    当注册表有新的应用映像版本发布或者应用配置有了更新时,OpenShift 3还允许定义一个自动的部署策略。
    Openshift3-Deployment-Strategy-1024x430.png

    为了完成这些构建和部署特性,OpenShift 3提供了把它自己的应用蓝图定义成用JSON或Yaml格式的模板文件的功能。这些蓝图描述了应用的架构拓扑和容器的部署策略。下面的图表描述了在OpenShit中,如何为3层应用将模板的不同组件进行组合的。
    Architecture-OpenShift-v3-OCTO-Technology-Edouard-DEVOUGE-1024x695.png


    在“模板”中组合组件,一定程度上继承了Kubernetes的概念,需要记住以下主要的对象。
    • 一个“POD”是一个Docker容器的运行环境(如果需要共享本地的资源, 我们将在单独的POD中部署两种类别的容器)
    • 一个“服务”是一个入口,抽象出一个均衡访问负载到一组相同的容器,理论上,最少是一个服务对应一个架构层。
    • 一个“服务部署者”或“部署配置”是一个对象,用来描述基于触发器的容器的部署策略。(比如,当Docker注册表中有新版本的映象时,需重新部署)。
    • 一个“复制控制器”是一个技术组件,主要负责POD的弹性。
    • 一个“路由”是用来显露一个应用的入口(域名解析,主机名或VIP)


    通过它的多重部署机制和设置自身“蓝图”的能力,OpenShift第三版适用于大多数的复杂应用架构。

    引擎盖下的优雅架构

    OpenShift 3的架构可以作为单机模式部署(使用Docker镜像“ openshift/origin”),也可以作为分布式模式部署。在随后的案例当中,用了两种服务器角色,主服务器和节点。

    “主服务器”节点的功能是:
    • 处理来自于命令行或Web界面的API请求。
    • 构建映象和部署容器。
    • 确保POD复制的弹性。


    “主服务器”依赖于基于etcd的分布式目录,主要用来提供配置共享和服务发现。

    “节点”主要用来作为PODS的宿主和运行容器(应用和注册表)。
    Architecture-OpenShift-v3-OCTO-Technology-1024x619.png

    架构是分布式的、可扩展的和具有弹性的。但是平台自身暂时还不支持自动扩展能力:目前可提供的和底层服务器的容量计划只能通过手动调整。

    可通过自身的REST API、CLI、Web portal来访问和管理平台。
    Portail-OpenShift-v3-OCTO.png

    OCTO的观点

    OpenShift 3在介于“平台即服务”和“容器即服务”的世界间架起了一个有趣的桥,红帽提出了一个大胆的解决方案和一个最先进的架构,我们非常感谢“蓝图”的规格格式,来定义架构的需求格式和部署的编排。

    在Beta 3版本中,OpenShift平台并没有强烈关注平台的可操作性,暂时并不建议将它应用在生产环境中,但是用户的各种问题是可以在路线图中找到的。



    我们相信在OpenShift 3中建模一个应用将会是一份新的工作,它需要新的技能,以便可以提出适当的问题,比如:如何组织容器?是否应该使用路由或服务?如何处理数据(一致性、复制、备份)?如何管理多重租用?如何集成开发和部署软件工厂?

    总而言之,OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数复杂的Web架构,即使是数据的管理和外部服务的集成还没有得到完全应用。

    我们相信OpenShift 3对一切都尽在掌握,它将成为基于Docker的私有PaaS平台领域的参照。

    来源:http://dockone.io/article/564

    展开全文
  • IaaS/PaaS平台搭建

    2020-10-17 15:20:19
    IaaS搭建 创建主机 内存:8GB 处理器:4 硬盘:300GB 网络适配器:VMnet8 网络适配器2:VMnet1 修改主机名 [root@localhost ~]# hostnamectl controller [root@localhost ~]# bash 关闭防火墙 [root@controller ~]...

    注意:此教程基于iaas2.4、paas2.4版本编写,其他版本若有不适请另寻其他方法

    IaaS搭建

    创建主机

    内存:8GB
    处理器:4
    硬盘:300GB
    网络适配器:VMnet8
    网络适配器2:VMnet1
    

    修改主机名

    [root@localhost ~]# hostnamectl controller
    [root@localhost ~]# bash
    

    关闭防火墙

    [root@controller ~]# systemctl stop firewalld
    [root@controller ~]# systemctl disable firewalld
    [root@controller ~]# systemctl status firewalld
    [root@controller ~]# iptables -F
    [root@controller ~]# iptables -X
    [root@controller ~]# iptables -Z
    [root@controller ~]# iptables-save
    

    上传文件

    CentOS-7-x86_64-DVD-1804.iso
    XianDian-IaaS-V2.4.iso
    

    分区操作

    • 虚拟机时
    [root@controller ~]# mkfs.xfs /dev/sdb
    [root@controller ~]# mkfs.xfs /dev/sdc
    
    • 服务器时
    [root@controller ~]# parted
    [root@controller ~]# mkpark
    [root@controller ~]# primary
    [root@controller ~]# ext2
    [root@controller ~]# 起始大小
    [root@controller ~]# 结束大小
    [root@controller ~]# print
    [root@controller ~]# q
    

    网卡设置

    网卡(2个)
    controller
    eth0:192.168.100.10/24
    eth1:192.168.200.10/24
    
    [root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    ...
    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.100.10
    ...
    [root@controller ~]# service network restart
    [root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
    ...
    BOOTPROTO=static
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    IPADDR=192.168.200.10
    ...
    [root@controller ~]# service network restart
    

    修改network文件

    注意:可以不用修改,如果无法搭建平台时修改

    [root@controller ~]# vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=controller
    NOZEROCONF=yes
    

    设置SELinux工作模式

    [root@controller ~]# vi /etc/selinux/config 
    SELINUX=disabled
    [root@controller ~]# setenforce 0
    [root@controller ~]# getenforce 
    

    配置yum源

    [root@controller ~]# mv /etc/yum.repos.d/* /home/
    [root@controller ~]# vi /etc/yum.repos.d/repo.repo
    [centos]
    name=centos
    baseurl=file:///opt/centos
    gpgcheck=0
    enabled=1
    [iaas]
    name=iaas
    baseurl=file:///opt/iaas-repo
    gpgcheck=0
    enabled=1
    

    复制文件

    [root@controller ~]# mkdir /opt/centos
    [root@controller ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/
    [root@controller ~]# cp -rvf /mnt/* /opt/centos/
    [root@controller ~]# umount /mnt/
    [root@controller ~]# mount -o loop XianDian-IaaS-V2.4.iso /mnt/
    [root@controller ~]# cp -rvf /mnt/* /opt/
    [root@controller ~]# umount /mnt/
    [root@controller ~]# yum clean all
    [root@controller ~]# yum list
    [root@controller ~]# yum repolist
    

    添加主机映射

    [root@controller ~]# vi /etc/hosts
    192.168.100.10 controller
    

    安装qpid服务

    [root@controller ~]# yum install qpid-cpp-server -y
    [root@controller ~]# vi /etc/qpid/qpidd.conf 
    auth=no
    [root@controller ~]# service qpidd start
    [root@controller ~]# chkconfig qpidd on
    

    安装IaaS

    [root@controller ~]# yum install iaas-xiandian -y
    [root@controller ~]# vi /etc/xiandian/openrc.sh 
    
    %s/^#//g(去除配置文件中每一行开头的#)
    %s/PASS=/PASS=000000/g(将密码全部设置为000000)
    
    配置详情
    ##--------------------system Config--------------------##
    #Controller Server Manager IP. example:x.x.x.x
    HOST_IP=192.168.100.10
    
    #Controller HOST Password. example:000000 
    HOST_PASS=000000
    
    #Controller Server hostname. example:controller
    HOST_NAME=controller
    
    #Compute Node Manager IP. example:x.x.x.x
    HOST_IP_NODE=192.168.100.10
    
    #Compute HOST Password. example:000000 
    HOST_PASS_NODE=000000
    
    #Compute Node hostname. example:compute
    HOST_NAME_NODE=controller
    
    #--------------------Chrony Config-------------------##
    #Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
    network_segment_IP=192.168.100.0/24
    
    ##--------------------Rabbit Config ------------------##
    #user for rabbit. example:openstack
    RABBIT_USER=openstack
    
    #Password for rabbit user .example:000000
    RABBIT_PASS=000000
    
    ##--------------------MySQL Config---------------------##
    #Password for MySQL root user . exmaple:000000
    DB_PASS=000000
    
    ##--------------------Keystone Config------------------##
    #Password for Keystore admin user. exmaple:000000
    DOMAIN_NAME=admin
    ADMIN_PASS=000000
    DEMO_PASS=000000
    
    #Password for Mysql keystore user. exmaple:000000
    KEYSTONE_DBPASS=000000
    
    ##--------------------Glance Config--------------------##
    #Password for Mysql glance user. exmaple:000000
    GLANCE_DBPASS=000000
    
    #Password for Keystore glance user. exmaple:000000
    GLANCE_PASS=000000
    
    ##--------------------Nova Config----------------------##
    #Password for Mysql nova user. exmaple:000000
    NOVA_DBPASS=000000
    
    #Password for Keystore nova user. exmaple:000000
    NOVA_PASS=000000
    
    ##--------------------Neturon Config-------------------##
    #Password for Mysql neutron user. exmaple:000000
    NEUTRON_DBPASS=000000
    
    ##Password for Keystore neutron user. exmaple:000000
    NEUTRON_PASS=000000
    
    ##metadata secret for neutron. exmaple:000000
    METADATA_SECRET=000000
    
    #Tunnel Network Interface. example:x.x.x.x
    INTERFACE_IP=192.168.100.10
    
    #External Network Interface. example:eth1
    INTERFACE_NAME=eth1
    
    #External Network The Physical Adapter. example:provider
    Physical_NAME=provider
    
    #First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
    minvlan=101
    
    #Last Vlan ID in VLAN RANGE for VLAN Network. example:200
    maxvlan=200
    
    ##--------------------Cinder Config--------------------##
    #Password for Mysql cinder user. exmaple:000000
    CINDER_DBPASS=000000
    
    #Password for Keystore cinder user. exmaple:000000
    CINDER_PASS=000000
    
    #Cinder Block Disk. example:md126p3
    BLOCK_DISK=sdb
    
    ##--------------------Swift Config---------------------##
    #Password for Keystore swift user. exmaple:000000
    SWIFT_PASS=000000
    
    #The NODE Object Disk for Swift. example:md126p4.
    OBJECT_DISK=sdc
    
    #The NODE IP for Swift Storage Network. example:x.x.x.x.
    STORAGE_LOCAL_NET_IP=192.168.100.10
    
    ##--------------------Heat Config----------------------##
    #Password for Mysql heat user. exmaple:000000
    HEAT_DBPASS=000000
    
    #Password for Keystore heat user. exmaple:000000
    HEAT_PASS=000000
    
    ##--------------------Zun Config-----------------------##
    #Password for Mysql Zun user. exmaple:000000
    ZUN_DBPASS=000000
    
    #Password for Keystore Zun user. exmaple:000000
    ZUN_PASS=000000
    
    #Password for Mysql Kuryr user. exmaple:000000
    KURYR_DBPASS=000000
    
    #Password for Keystore Kuryr user. exmaple:000000
    KURYR_PASS=000000
    
    ##--------------------Ceilometer Config----------------##
    #Password for Gnocchi ceilometer user. exmaple:000000
    CEILOMETER_DBPASS=000000
    
    #Password for Keystore ceilometer user. exmaple:000000
    CEILOMETER_PASS=000000
    
    ##--------------------AODH Config----------------##
    #Password for Mysql AODH user. exmaple:000000
    AODH_DBPASS=000000
    
    #Password for Keystore AODH user. exmaple:000000
    AODH_PASS=000000
    
    ##--------------------Barbican Config----------------##
    #Password for Mysql Barbican user. exmaple:000000
    BARBICAN_DBPASS=000000
    
    #Password for Keystore Barbican user. exmaple:000000
    BARBICAN_PASS=000000
    

    部署OpenStack

    /**
    若不是新建脚本跑则不用执行下列命令
    [root@controller ~]# vi iaas-install-all-in-one.sh
    [root@controller ~]# !/bin/bash
    [root@controller ~]# chmod +x iaas-install-all-in-one.sh
    [root@controller ~]# ./iaas-install-all-in-one.sh 
    **/
    
    [root@controller ~]# iaas-pre-host.sh
    [root@controller ~]# iaas-install-mysql.sh
    [root@controller ~]# iaas-install-keystone.sh
    [root@controller ~]# source /etc/keystone/admin-openrc.sh
    [root@controller ~]# iaas-install-glance.sh
    [root@controller ~]# glance image-create --name "centos7.5" --disk-format qcow2 --container-format bare --progress < /opt/images/CentOS_7.5_x86_64_XD.qcow2 
    [root@controller ~]# iaas-install-nova-controller.sh
    [root@controller ~]# iaas-install-nova-compute.sh
    [root@controller ~]# iaas-install-neutron-controller.sh
    [root@controller ~]# iaas-install-neutron-compute.sh(可以省略不跑)
    [root@controller ~]# iaas-install-dashboard.sh
    ==============================================================================
    [root@controller ~]# iaas-install–cinder-controller.sh
    [root@controller ~]# iaas-install–cinder-compute.sh
    [root@controller ~]# iaas-install-swift-controller.sh
    [root@controller ~]# iaas-install-swift-compute.sh
    [root@controller ~]# iaas-install-heat.sh
    [root@controller ~]# iaas-install-zun-controller.sh
    [root@controller ~]# iaas-install-zun-compute.sh
    [root@controller ~]# iaas-install-aodh.sh
    [root@controller ~]# iaas-install-ceilometer-controller.sh
    [root@controller ~]# iaas-install-ceilometer-compute.sh
    [root@controller ~]# iaas-install-barbican.sh
    
    ##查看openstack服务状态
    [root@controller ~]# openstack-status
    ##重启openstack 服务
    [root@controller ~]# openstack-service restart
    

    注意:创建实例时选择不创建新卷

    打开地址:192.168.100.10/dashboard/

    PaaS搭建

    创建两台主机(master/node)

    内存:8GB
    处理器:4
    硬盘:200GB
    网络适配器:VMnet8
    网络适配器2:VMnet1
    

    基础设置

    【master】

    //设置主机名
    [root@localhost ~]# hostnamectl set-hostname master
    [root@localhost ~]# bash
    
    //设置网络
    [root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    ...
    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.100.10
    ...
    [root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
    ...
    BOOTPROTO=static
    DEFROUTE=yes
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    IPADDR=192.168.200.10
    ...
    [root@master ~]# service network restart
    
    //添加主机映射
    [root@master ~]# vi /etc/hosts
    192.168.100.10 master
    192.168.100.20 node
    
    //更改selinux工作模式
    [root@master ~]# vi /etc/selinux/config 
    SELINUX=disabled
    [root@master ~]# setenforce 0
    [root@master ~]# getenforce
    
    //关闭防火墙
    [root@master ~]# systemctl stop firewalld
    [root@master ~]# systemctl disable firewalld
    
    //配置yum源
    [root@master ~]# mv /etc/yum.repos.d/* /home/
    [root@master ~]# vi /etc/yum.repos.d/docker.repo 
    [centos]
    name=centos
    baseurl=file:///optej/centos
    gpgcheck=0
    enabled=1
    [docker]
    name=docker
    baseurl=file:///opt/kubernetes-repo
    gpgcheck=0
    enabled=1
    [root@master ~]# init 0
    ========================克隆master为node================
    //上传CentOS-7-x86_64-DVD-1804.iso和XianDian-PaaS-v2.4.iso镜像并将挂载复制
    [root@master ~]# mkdir /opt/centos
    [root@master ~]# mount -o loop /dev/cdrom /mnt/
    [root@master ~]# cp -rvf /mnt/* /opt/centos
    [root@master ~]# umount /mnt/
    [root@master ~]# eject -r /dev/cdrom    ##弹出光驱
    //在VMware中将镜像换成XianDian-PaaS-v2.4.iso在重新连接
    [root@master ~]# mount -o loop /dev/cdrom /mnt/
    [root@master ~]# cp -rvf /mnt/* /opt/
    [root@master ~]# umount /mnt/
    //在VMware中将镜像换回CentOS-7-x86_64-DVD-1804.iso在重新连接
    [root@master ~]# yum clean all
    [root@master ~]# yum repolist
    [root@master ~]# yum list
    
    //安装ftpd
    [root@master ~]# yum install vsftpd -y
    [root@master ~]# vi /etc/vsftpd/vsftpd.conf 
    anon_root=/opt/    ##设置共享目录
    [root@master ~]# systemctl start vsftpd
    [root@master ~]# systemctl enable vsftpd
    

    【node】

    //设置主机名(此时master可以开始跑脚本了)
    [root@localhost ~]# hostnamectl set-hostname node
    [root@localhost ~]# bash
    
    //设置网络
    [root@node ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    ...
    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.100.20
    ...
    [root@node ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
    ...
    BOOTPROTO=static
    DEFROUTE=yes
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    IPADDR=192.168.200.20
    ...
    [root@node ~]# service network restart
    
    //添加主机映射
    [root@node ~]# vi /etc/hosts
    192.168.100.10 master
    192.168.100.20 node
    
    //更改selinux工作模式
    [root@node ~]# vi /etc/selinux/config 
    SELINUX=disabled
    [root@node ~]# setenforce 0
    [root@node ~]# getenforce
    
    //关闭防火墙
    [root@node ~]# systemctl stop firewalld
    [root@node ~]# systemctl disable firewalld
    
    //配置yum源
    [root@node ~]# mv /etc/yum.repos.d/* /home/
    [root@node ~]# vi /etc/yum.repos.d/docker.repo 
    [centos]
    name=centos
    baseurl=ftp://192.168.100.10/centos
    gpgcheck=0
    enabled=1
    [docker]
    name=docker
    baseurl=ftp://192.168.100.10/kubernetes-repo
    gpgcheck=0
    enabled=1
    
    //从master节点复制镜像
    [root@node ~]# mkdir /opt/centos
    [root@node ~]# scp -r 192.168.100.10://opt/* /opt/
    [root@node ~]# yum clean all
    [root@node ~]# yum repolist
    [root@node ~]# yum list
    

    执行PaaS脚本

    访问地址:http://192.168.100.10
    仓库地址:192.168.100.10
    用户名:admin
    密码:Harbor12345
    

    【master】

    [root@master ~]# cd /opt/
    [root@master ~]# ./k8s_harbor_install.sh 
    [root@master ~]# ./k8s_image_push.sh 
    [root@master ~]# ./k8s_master_install.sh 
    //执后会访问192.168.100.10:30000使用token登录即可
    

    【node】

    [root@node ~]# cd /opt/
    [root@node ~]# ./k8s_node_install.sh 
    
    展开全文
  • 并基于客户系统的工作负载分析和容量进行规划,同时借助VMware Tanzu产品家族带来的强大能力,为其“量身定制”出适合自身的PaaS平台层架构设计和方案。 其中,在构建方面,借助Pivotal、Bitnami带来的强大能力,...
  • paas平台

    2018-06-25 11:29:00
    paas平台 定义:PaaS是云计算中重要的一类服务,为用户提供应用的全生命周期管理和相关的资源服务。通过PaaS,用户可以完成应用的构建、部署、运维管理,而不需要自己去搭建计算环境,如安装服务器、操作系统、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,937
精华内容 5,174
关键字:

如何搭建paas平台