跳到内容

集成RStudio Wo英格兰vs伊朗让球rkbench和Kubernetes

概述

这些步骤描述了如何集成RStudio Workbench,英格兰vs伊朗让球前身为RStudi英格兰vs伊朗让球o Server Pro1Launcher和Kubernetes。

信息

Launcher是RStudio Server Pro 1英格兰vs伊朗让球.2的一个新特性2仅在指定用户许可下可用。英格兰vs伊朗让球没有Launcher的RStudio Server Pro 1.2在现有的基于服务器的许可下可用。关于在RStudio Workbench中使用Launcher的问题,请联系英格兰vs伊朗让球sales@英格兰vs伊朗让球rstudio.com

先决条件

此集成将在RStudio Workbench的基础安装之上执行。英格兰vs伊朗让球

飞行前配置检查

验证active Kubernetes工作节点

  • 在一台机器上kubectl通过运行以下命令,确保你有一个或多个工作节点已经准备好接受pod作为Kubernetes集群的一部分:

    终端
    $ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-172-31-12-54.ec2.internal Ready  90d v1.11.5 ip-172-31-15-141.ec2.internal Ready  90d v1.11.5 ip-172-31-18-59.ec2.internal Ready  90d v1.11.5 ip-172-31-20-112.ec2.internal Ready 

使用测试部署验证功能

  • 在一台机器上kubectl通过运行以下命令,确保您能够将示例应用程序部署到Kubernetes集群:

    终端
    $ kubectl创建部署hello-node——imagegcr.io / google-samples / node-hello: 1.0
  • 使用以下命令确认pod正在运行:

    终端
    $ kubectl get pods NAME READY STATUS重启AGE hello-node-6d6cd9679f-mllr71/ 1运行01米
  • 现在,您可以通过运行以下命令来清理测试部署:

    终端
    $ kubectl删除部署hello-node deploy .extensions“hello-node”删除

步骤1。配置RStudio 英格兰vs伊朗让球Workbench和Launcher

  • 在RStudio Workbench配置文件中添加以下代码行:英格兰vs伊朗让球

    文件:/etc/rst英格兰vs伊朗让球udio/rserver.conf
    #启动器配置launcher-address127.0.0.1launcher-port5559launcher-sessions-enabled1launcher-default-clusterKuberneteslauncher-sessions-callback-addresshttp:// <服务器地址>:8787launcher-sessions-container-run-as-root0launcher-sessions-create-container-user1
  • 建议您完成以下操作:

    • launcher-sessions-callback-address设置完毕,应替换<服务器地址>RStudio Workbench的DNS名称或IP地址。英格兰vs伊朗让球
    • 如果使用HTTPS或其他端口,还应该更改协议和端口。

    请注意

    <服务器地址>需要从Kubernetes中的容器到RStudio Workbench实例。英格兰vs伊朗让球

步骤2。配置启动器设置和插件

  • 在Launcher配置文件中添加以下代码:

    文件:/etc/rst英格兰vs伊朗让球udio/launcher.conf
    (服务器)地址127.0.0.1港口5559服务器用户英格兰vs伊朗让球rstudio-server管理员组英格兰vs伊朗让球rstudio-serverauthorization-enabled1线程池的大小4enable-debug-logging1(集群)的名字Kubernetes类型Kubernetes

步骤3。为Launcher Kubernetes插件配置配置文件

  • 在Launcher配置文件中添加以下代码行:

    文件:/etc/rst英格兰vs伊朗让球udio/launcher.kubernetes.profiles.conf
    (*)default-cpus1default-mem-mb512max-cpus2max-mem-mb1024container-images英格兰vs伊朗让球rstudio / r-session-complete: centos7 pro3——2022.02.3 - 492.default-container-image英格兰vs伊朗让球rstudio / r-session-complete: centos7 pro3——2022.02.3 - 492.allow-unknown-images0

有关在Launcher中使用Docker映像的更多信息,请参阅支持文章卡塔尔世界杯欧洲预选赛赛程表在RStudio Workbench, Launc英格兰vs伊朗让球her和Kubernetes中使用Docker映像

步骤4。NFS服务器的发放和配置

NFS共享的主目录存储要求查看RStudio Workbench和La英格兰vs伊朗让球uncher的配置。英格兰vs伊朗让球RStudio Workbench将每个用户的项目数据存储在各自的主目录中。

  • 在您的环境中执行以下步骤:

    • 文件导出的NFS服务器/家庭目录中。我们建议在一台独立于RStudio Workbench和Launcher运行的机器上配置NFS服务器。英格兰vs伊朗让球
    • 在带有RStudio Workbench英格兰vs伊朗让球和Launcher的机器上,挂载NFS共享/家庭

    请注意

    与任何NFS配置类似,所有机器(例如,具有NFS服务器的机器和具有RStudio Workbench和Launcher的机器)都应该具有相同的用户,且用户id和组id相匹配,以避免NFS客户端机器之间的权限或所有权英格兰vs伊朗让球问题。

第5步。为Launcher配置NFS挂载

  • 在Launcher挂载配置文件中添加以下几行,这是容器用来挂载每个用户的主目录的NFS服务器和挂载路径:

    文件:/etc/rst英格兰vs伊朗让球udio/launcher-mounts
    #安装RSP, Launcher和Kubernetes所需的主目录主持人:< NFS-IP-ADDRESS >路径:/home/{用户}MountPath: /home/{用户}只读的:假集群:Kubernetes
  • 取代< NFS-IP-ADDRESS >NFS服务器的IP地址。

  • 路径而且MountPath包含特殊变量{USER}表示在容器启动时将替换用户名,因此不需要更改此配置文件中的该变量。
  • 路径为挂载的源目录,即NFS服务器中的主目录路径。如果它是不同的,请将其替换为正确的路径/home/
  • MountPath主目录将挂载到的容器中的路径。它必须与主目录在RSP服务器上的挂载方式相匹配。如果它是不同的,请将其替换为正确的路径/home/

请注意

NFS共享的主目录存储要求查看RStudio Workbench和La英格兰vs伊朗让球uncher的配置。因此,需要在/etc/英格兰vs伊朗让球rstudio/launcher-mountsRStudio Workbench和Launc英格兰vs伊朗让球her的配置文件,以与Kubernetes一起工作。

可以将其他NFS挂载添加到同一配置文件中,以使远程会话容器中可用其他只读或读写文件存储挂载。

步骤6。为Launcher会话和作业创建Kubernetes资源

  • 在终端上执行以下命令,创建英格兰vs伊朗让球命名空间、服务帐号、集群角色、角色绑定:

    终端
    $ kubectl创建命名空间rstudio $ ku英格兰vs伊朗让球bectl创建服务帐户job-launcher——命名空间rstudio $ kubectl创建角色绑定job-launcher-admin——clusterrole集群管理员——集团系统:serviceaccounts: rst英格兰vs伊朗让球udio——名称空间英格兰vs伊朗让球Rstudio $ kubectl创建clusterrole job-launcher-clusters——动词获取、观察名单——资源Nodes $ kubectl创建clusterrolebinding job-launcher-list-clusters——clusterrolejob-launcher-clusters——集团系统:serviceaccounts: rst英格兰vs伊朗让球udio
    (可选)使用自定义角色代替集群管理员角色

    上面的默认步骤使用集群管理员Kubernetes集群中的角色。如果您无法使用集群管理员对象的完全访问权限的自定义角色英格兰vs伊朗让球名称空间。

    此时,可以在终端上执行以下命令创建英格兰vs伊朗让球命名空间和所需的服务帐户、自定义集群角色、角色绑定:

    终端
    $ kubectl创建命名空间rstudio英格兰vs伊朗让球#创建一个对rstudio命名空间具有完全访问权限的角色英格兰vs伊朗让球创建rstudio-full-access角英格兰vs伊朗让球色——动词‘*’——资源“* *”。——名称空间英格兰vs伊朗让球#将新角色绑定到服务帐户$ kubectl创建角色绑定job-launcher-admin——角色英格兰vs伊朗让球rstudio-full-access——集团系统:serviceaccounts: rst英格兰vs伊朗让球udio——名称空间英格兰vs伊朗让球Rstudio $ kubectl创建clusterrole job-launcher-clusters——动词获取、观察名单——资源Nodes $ kubectl创建clusterrolebinding job-launcher-list-clusters——clusterrolejob-launcher-clusters——集团系统:serviceaccounts: rst英格兰vs伊朗让球udio
    (可选)如果您的Kubernetes集群没有启用模拟,请执行这些步骤

    对于大多数Kubernetes发行版的默认配置,上述步骤应该足以允许Launcher会话容器作为创建会话的最终用户运行。如果您的Kubernetes集群没有启用模拟,那么您可以使用允许模拟的自定义集群角色和角色绑定。

    运行上述步骤后,在终端中运行以下附加命令,创建允许模拟的集群角色和角色绑定资源:

    终端
    创建clusterrole job-launcher-api——动词模仿——资源用户、组、服务帐户$ kubectl创建角色绑定作业启动器模拟——clusterrolejob-launcher-api——集团系统:serviceaccounts: rst英格兰vs伊朗让球udio——名称空间英格兰vs伊朗让球

请参阅发射器请参阅RStudio Work英格兰vs伊朗让球bench管理指南中的部分,以了解有关Launcher如何在容器中创建会话用户的更多信息。

请参阅用户模拟部分的Kubernetes文档,以获得关于Kubernetes中的身份验证和模拟的更多信息。

步骤7。使用Kubernetes配置启动器

  • 中获取服务帐户的Kubernetes token英格兰vs伊朗让球在您的终端上运行以下命令:

    终端
    $ kubectl get secret$ (Kubectl get serviceaccount job-launcher——命名空间英格兰vs伊朗让球rstudio - ojsonpath”{.secrets [0] . name}’——名称空间英格兰vs伊朗让球rstudio - ojsonpath“{.data.token}”|base64 - d& &回声
  • 将以下行添加到Launcher Kubernetes配置文件中,(在哪里< KUBERNETES-API-ENDPOINT >是Kubernetes API的URL,< KUBERNETES-CLUSTER-TOKEN >以上是Kubernetes服务账户令牌吗Kubectl得到秘密终端命令,以及< base - 64编码- ca证书>是Kubernetes API的Base64编码CA证书)

    文件:/etc/rst英格兰vs伊朗让球udio/launcher.kubernetes.conf
    api-url< KUBERNETES-API-ENDPOINT >鉴定标识< KUBERNETES-CLUSTER-TOKEN >证书颁发机构< base - 64编码- ca证书>

    请注意

    通常可以从Kubernetes集群控制台或仪表板中找到这些值。

步骤8。重新启动RStu英格兰vs伊朗让球dio Workbench和Launcher服务

  • 2 .执行如下命令重启服务。

    终端
    $ sudo 英格兰vs伊朗让球rstudio-server restart $ sudo rstudio-launcher restart

第9步。用Laun英格兰vs伊朗让球cher和Kubernetes测试RStudio Workbench

  • 运行以下命令,使用Launcher和Kubernetes测试RStudio Workbench的安装和配置:英格兰vs伊朗让球

    终端
    $ sudo 英格兰vs伊朗让球rstudio-server stop $ sudo rstudio-server verify-installation—verify-user $ sudo 英格兰vs伊朗让球rstudio-server start .

请注意

取代<用户名>使用在安装中运行RStudio Workbench的用户的有效用户名。英格兰vs伊朗让球您只需要为一个有效用户运行此测试一次,以验证RStudio Workbench和Launcher可以成功地与Kubernetes通信并启动会英格兰vs伊朗让球话/作业。

有关使用启动程序验证工具的详细信息,请参阅RStudio工作台管理指南中的故障排除部分英格兰vs伊朗让球

额外的信息

使用自定义Docker映像

您可以扩展或构建自己的自定义Docker映像,以便与RStudio Workbench和Kubernetes一起使用不同版本的R、R英格兰vs伊朗让球包或系统包。

有关使用自定义Docker映像的更多信息,请参阅支持文章卡塔尔世界杯欧洲预选赛赛程表在RStudio Workbench, Launc英格兰vs伊朗让球her和Kubernetes中使用Docker映像

附加配置

有关配置RStudio Workbench和Launcher(包括配置其英格兰vs伊朗让球他共享文件存储挂载、环境变量和端口)的详细信息,请参阅以下参考文档:

RStudio Workbenc英格兰vs伊朗让球h和Kubernetes故障排除

参考文档页RStudio Workbench中的故障排除启动器和Kubernetes英格兰vs伊朗让球有关RStudio Workbench与Launcher和Kubernetes故障排除的其他英格兰vs伊朗让球信息。


  1. 我们已经将RStudio Ser英格兰vs伊朗让球ver Pro重命名为RStudio Workbench。这一变化反映了该产品对各种不同开发环境日益增长的支持。卡塔尔世界杯欧洲预选赛赛程表请联系我们的官方公告复习我们的常见问题解答关于从RStudio Server Pro到RStudio W英格兰vs伊朗让球orkbench的名称更改。

  2. 对于1.4之前的版本,我们将继续使用RStudio Se英格兰vs伊朗让球rver Pro名称。

回到顶部