集成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伊朗让球
- 安装RStudio Server英格兰vs伊朗让球 Pro 1.2.5或更高版本,包括RStudio Workbench 1.4
- 配置了RStudio Workbench的NFS服务器,用于主目录工程英格兰vs伊朗让球存储
- Kubernetes集群:
- Kubernetes API端点
- Kubernetes集群CA证书
- 访问
kubectl
创建名称空间、服务帐户、集群角色和角色绑定
- 访问Docker镜像注册表(如果在脱机环境中工作)
飞行前配置检查#
验证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——image=gcr.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-address=127.0.0.1launcher-port=5559launcher-sessions-enabled=1launcher-default-cluster=Kuberneteslauncher-sessions-callback-address=http:// <服务器地址>:8787launcher-sessions-container-run-as-root=0launcher-sessions-create-container-user=1
建议您完成以下操作:
- 在
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-enabled=1线程池的大小=4enable-debug-logging=1(集群)的名字=Kubernetes类型=Kubernetes
步骤3。为Launcher Kubernetes插件配置配置文件#
在Launcher配置文件中添加以下代码行:
文件:/etc/rst英格兰vs伊朗让球udio/launcher.kubernetes.profiles.conf(*)default-cpus=1default-mem-mb=512max-cpus=2max-mem-mb=1024container-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-images=0
有关在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伊朗让球问题。
- 文件导出的NFS服务器
第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-mounts
RStudio 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\——clusterrole=job-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\——clusterrole=job-launcher-clusters\——集团=系统:serviceaccounts: rst英格兰vs伊朗让球udio
(可选)如果您的Kubernetes集群没有启用模拟,请执行这些步骤
对于大多数Kubernetes发行版的默认配置,上述步骤应该足以允许Launcher会话容器作为创建会话的最终用户运行。如果您的Kubernetes集群没有启用模拟,那么您可以使用允许模拟的自定义集群角色和角色绑定。
运行上述步骤后,在终端中运行以下附加命令,创建允许模拟的集群角色和角色绑定资源:
终端创建clusterrole job-launcher-api\——动词=模仿\——资源=用户、组、服务帐户$ kubectl创建角色绑定作业启动器模拟\——clusterrole=job-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.confapi-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伊朗让球信息。