一、登录MindSphere - Cloud Foundry

1. 安装Cloud Foundry CLI (Command Line Interface)。

下载地址:https://github.com/cloudfoundry/cli

2. 检查是否安装成功:

打开系统的Terminal工具,输入cf -v

3. 设置CF API登录点登录MindSphere Ali Preview版:
命令:cf api https://api.cf.cn1.mindsphere-in.cn

【小插曲】:

在这里遇到了一个问题,命令行提示了以下信息

Not logged in. Use 'cf.exe login' or 'cf.exe login --sso' to log in.

导致后面的登录也是失败的,然后在阿里云上提了MindSphere的工单,

按照工单提示的方法,继续以上步骤

4. 执行以下登陆命令

命令:cf login -a https://api.cf.cn1.mindsphere-in.cn --sso --skip-ssl-validation

5. 将上图中的地址地址复制到浏览器,在弹出页面填写email地址和密码,让后点击登录

地址:https://login.cf.cn1.mindsphere-in.cn/passcode

页面中会提示临时密码

6. 将临时密码复制点击鼠标右键(粘贴)到控制台上:

登陆成功。

二、Cloud Foundry的操作命令

Cloud Foundry中的Orgs, Spaces, Role(角色)及Permissions(权限)

CF使用基于角色访问控制(Role Based Access Control)的系统形式向用户授予适合其在不同Orgs或Spaces中的角色的权限。

本小节会描述Orgs和Spaces的概念,以及不同的Cloud Foundry用户角色的配置方式。

Orgs

组织是个人或多个协作者可以拥有和使用的开发空间,一个MindSphere租户(Tenant)即为一个CF Orgs。

如一个账户有多个Tenant的使用权限,则此用户可访问多个Orgs。

Orgs中的协作者共享资源配额计划,应用程序,服务可用性和自定义域。

Spaces

每个应用程序和服务都限定在一个CF Space。一个Org可以包含多个Spaces。

CF的Spaces使用户可以访问共享位置以进行应用程序开发,部署和维护。

每个Space Role角色仅适用于特别指定的Space中。

Role(角色)及Permission(权限)

在CF环境中,一个用户可以拥有一个或多个角色。

这些角色的组合定义了用户在Org中以及该Org中特定Space内的整体权限。

可以为角色分配不同范围的用户帐户和身份验证权限。

MindSphere Tenant开通时,只有MindAccess Operator或Developert套餐的原始注册者拥有Cloud Foundry的管理员(称为OrgManager)权限。

此初始管理员需要通过以上介绍的命令为其他用户注册入CF,并分配相应的权限。

在MindSphere Cloud Foundry中的常用角色(Role)有:

➢ Org Manager:Org的最高权限管理中者

➢ Org Auditor:只能查看Org中使用者及资源信息,无权修改

➢ Space Manager:特定Space的最高权限管理中者

➢ Space Developer:应用程序开发人员或在空间中管理应用程序和服务的用户

➢ Space Auditor:只拥有Space中查看的权限

关于更多Cloud Foundry中Orgs,Spaces,Roles及Permission的更多信息请查阅CF官网的相关文档:

https://docs.cloudfoundry.org/concepts/roles.html

【小插曲】

我的账户在登陆之后,没有任何的Orgs和Space,猜想可能是因为我使用的账号并非是原始注册账号,

于是切换到原始注册账号试了一下,果然是可以看到Org的。

命令样例:

cf set-org-role chunhui.qu@rexel.com.cn rexelcn0 OrgManager

cf set-space-role chunhui.qu@rexel.com.cn rexelcn0 rexel-demo spacemanager

三、本地应用程序部署到Cloud Foundry

1. 从Gitbut下载此演示程序:
下载地址:

https://github.com/IBM-Cloud/aspnet-core-helloworld

https://github.com/cloudfoundry-samples/hello-spring-cloud

2. 解压下载文件,程序目录中不但包括了.NET Core程序文件,还定义manifest.yml文件

3. 可用文本编辑器打开此manifest.yml文件。

其定义了应用名,路由方式,占用内存,.Net core环境

4. 打开Terminal终端(Windows环境,我用的是PowerShell),指定路径到应用根目录下

5. 使用cf push命令进行部署。CF开始检查yml文件,自动上传并准备运行环境。

记得在执行cf push之前,执行命令cf target -s rexel-demo切换到目标space中。

6. 最后CF显示应用状态为running,则表示此应用部署成功,并已正常运行。

7. 输入cf apps命令,即可在对应的Space中列出所有应用及运行状态

8. 如需了解单个应用更为详细的状态,可使用:

cf app {AppName}

四、Backing Services的创建及关联

1. 查看可用的Backing services:
cf marketplace
会列出service的名字,不同套餐,及说明

2. 创建Backing services实例

cf create-service mongodb32 mongodb-xs MyMongoDB1

3. 创建需要花费一定的时间,可用命令检查所有创建的serivce状态:
cf services

4. 把App与Service进行关联

cf bind-service dotnetHelloWorld MyMongoDB1

创建失败,从返回的信息中可以看到,MyMongoDB1 is in progress,意思创建还没有完成,

使用cf services查看一下状态,确认已经创建成功之后,

重新执行app与service关联命令

cf bind-service dotnetHelloWorld MyMongoDB1

关联成功。

TIP: Use 'cf.exe restage dotnetHelloWorld' to ensure your env variable changes take effect

  

五、CF操作命令一览:

cf -h执行结果

Before getting started:
config login,l target,t
help,h logout,lo Application lifecycle:
apps,a run-task,rt events
push,p logs set-env,se
start,st ssh create-app-manifest
stop,sp app delete,d
restart,rs env,e
restage,rg scale Services integration:
marketplace,m create-user-provided-service,cups
services,s update-user-provided-service,uups
create-service,cs create-service-key,csk
update-service delete-service-key,dsk
delete-service,ds service-keys,sk
service service-key
bind-service,bs bind-route-service,brs
unbind-service,us unbind-route-service,urs Route and domain management:
routes,r delete-route create-domain
domains map-route
create-route unmap-route Space management:
spaces create-space set-space-role
space-users delete-space unset-space-role Org management:
orgs,o set-org-role
org-users unset-org-role CLI plugin management:
plugins add-plugin-repo repo-plugins
install-plugin list-plugin-repos Commands offered by installed plugins: Global options:
--help, -h Show help
-v Print API request diagnostics to stdout

  

Cloud Foundry SSH

https://developer.mindsphere.io/zh/paas/paas-cloudfoundry-ssh.html

如何使用Cloud Foundry CLI把一个应用推送到MindSphere的更多相关文章

  1. 使用GCM服务(Google Cloud Messaging)实现Android消息推送

    最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...

  2. 【原创】node+express+socket搭建一个实时推送应用

    技术背景 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新. 应用场景: 监控系统:后台硬件热插拔.LED.温度.电压发生变化 即 ...

  3. 由一个订单推送想到了ObservableCollection的神奇用法

    最近在做taobao的一个卖家应用,需要订阅taobao的订单推送,示例代码如下: 看到上面的OnMessage场景之后,我突然就鬼使神差的在想最近写的一个服务,其中的一个功能是需要定时的轮询一个集合 ...

  4. 【PM面试题】设计一个股价推送工具

    这一轮面试时间比较短,问题在短时间内不能很全面展开,因此抓住一些关键点变得尤其重要,这里我记录下当时是怎么想这个问题的. 问题解析 子问题1:推送什么?从问题中看出我们需要推送的是股价,用户可以自定义 ...

  5. .net core 3.0 Signalr - 实现一个业务推送系统

    ## 介绍 ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程. 实时 Web 功能使服务器端代码能够即时将内容推送到客户端. SignalR 的适 ...

  6. [wxpusher]分享一个服务器推送消息到微信上的小工具,可以用于微信推送提醒和告警。

    背景 作为一个程序员,业余搞点自己的东西很正常,一般程序员都会有一两台自己的服务器,谁叫今天xx云搞活动,明天yy云搞活动呢. 自家的服务器用来跑爬虫,跑博客,或者跑一些个人业务,但当服务有新状态,抢 ...

  7. centos 安装cloud foundry CLI

    步骤: 1.wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudf ...

  8. 使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry

    这篇文章将介绍如何使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry.本文的目的在于: 了解作为 PaaS 的 Cloud Foundr ...

  9. Cloud Foundry技术全貌及核心组件分析

    原文链接:http://www.programmer.com.cn/14472/ 历经一年多的发展,Cloud Foundry的架构设计和实现有了众多改进和优化.为了便于大家了解和深入研究首个开源Pa ...

随机推荐

  1. 解决Wireshark安装Npcap组件失败

    解决Wireshark安装Npcap组件失败   从Wireshark 3.0开始,Npcap取代Winpcap组件,成为Wireshark默认的网卡核心驱动.由于该组件属于驱动程序,所以安装时候容易 ...

  2. Java统计文件数量

    Java统计文件数量 package com.vfsd; import java.io.File; import java.io.IOException; /********************* ...

  3. break 和 continue 的用法

    break 是结束循环 continue 是结束本次循环,接下下一个循环

  4. spring 配置事务管理器

    在Spring中数据库事务是通过PlatformTransactionManager进行管理的,jdbcTemplate是不能支持事务的,而能够支持事务的是org.springframework.tr ...

  5. 使用wkhtmltopdf将多个html批量转成pdf

    相关工具:wkhtmltopdf 场景:比如笔者有 ognl中文文档,全部是html,现在想把它转成pdf,放到ipad阅读,文件如下: 下载好wkhtmltox(本地安装目录 D:\develop\ ...

  6. STM32F405的 ADC参考电压选择问题

    1. STM32F405没有参考电压的输入引脚,那么可能是接的VDDA和VSSA 2. 看下文档的说明

  7. python:动态参数*args

    动态参数 顾名思义,动态参数就是传入的参数的个数是动态的,可以是1个.2个到任意个,还可以是0个.在不需要的时候,你完全可以忽略动态函数,不用给它传递任何值. Python的动态参数有两种,分别是*a ...

  8. 解决RedisDesktopManager连接不上redis问题

    linux 下安装redis很简单,在此不做赘述 发现linux上启动redis,测试redis使用正常, 但使用RedisDesktopManager却连接不上,报错如下,报错信息显示:当前使用的P ...

  9. SQL在线自助查询

    数据的日常查询统计分析是高频的需求,然而生产数据库由于安全.管理等方面的要求,仅仅对部分人员开发,例如DBA,总监等, 其他人员都要通过DBA才能查询数据,十分不便. 为了让DBA免于日常繁琐的工作, ...

  10. 高级UI-CardView

    CardView是在Android 5.0推出的新控件,为了兼容之前的版本,将其放在了v7包里面,在现在扁平化设计潮流的驱使下,越来越多的软件使用到了CardView这一控件,那么这篇文章就来看看Ca ...