文档章节

marathon 配置https 访问

TinkerSu
 TinkerSu
发布于 2017/02/14 00:17
字数 799
阅读 317
收藏 4

marathon 配置https 访问


最近因为安全要求对原本http 访问的marathon 配置为https访问,官方文档 对如何配置ssl进行了说明,但这里主要说明采用rpm 安装的marathon https访问配置, 以下是配置过程和说明

1.创建jks证书

官方文档提供生成jks的方式,但略显复杂,这里提供一个简单生成jks方式

#生成jks证书
export MARATHON_SSL_KEYSTORE_PASSWORD="password"
keytool -keystore marathon.jks -deststorepass $MARATHON_SSL_KEYSTORE_PASSWORD -alias marathon -genkey -keyalg RSA

生成的marathon.jks 后面配置marathon时候将会引用到


2.安装marathon

这里使用的是rpm/deb包进行marathon 安装,mesosphere 官方提供了对应的仓库包下载地址, 我这里下载centos7x版本的仓库,执行如下命令进行安装配置

#1.安装仓库包
rpm -i http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm

#2.安装mesos,marathon
yum makecache fast && yum install mesos marathon -y

3. 配置marathon https

这里简单说一下一个必要的zookeeper配置, 默认应用/etc/mesos/zk 文件为zookeeper配置,如果你的zookeeper是集群方式则用, 区分多个实例即可

官方推荐使用http_credentials 验证加上ssl证书方式保障传输安全以及http认证,配置https有两种方式,一种是采用直接配置/usr/lib/systemd/system/marathon.service 另外一种是采用配置变量目录应用/etc/marathon/conf/ ,两种方式配置如下

marathon.service 配置方式

#1.在ExecStart=/usr/bin/marathon 后面增肌,注意--http_credentials 后面需要你带 账号:密码信息以配置https访问的认证账号密码
ExecStart=/usr/bin/marathon --ssl_keystore_path /root/cert/marathon.jks --ssl_keystore_password marathon.jks密码 --disable_http --http_credentials 账号:密码 --leader_proxy_ssl_ignore_hostname

#2.重载
systemctl daemon-reload

#3.启动marathon
systemctl start marathon

#4.查看日志
tail -f /var/log/messages

变量引用配置

需要创建/etc/marathon/conf/ 目录,将对应的配置在conf目录下创建对应的文件,将参数写入文件中,下面是例子

#1.配置
mkdir -p /etc/marathon/conf && \
echo '/marathon.jks'>/etc/marathon/conf/ssl_keystore_path && \
echo 'jks密码' >/etc/marathon/conf/ssl_keystore_password && \
echo ''>/etc/marathon/conf/disable_http && \
echo '账号:密码'>/etc/marathon/conf/http_credentials && \
echo ''>/etc/marathon/conf/leader_proxy_ssl_ignore_hostname

#2.启动marathon
systemctl start marathon

4. 遇到的问题

4.1 while proxying 报错导致marathon 异常

错误信息:

WARN /v2/deployments (org.eclipse.jetty.servlet.ServletHandler:563)
java.lang.RuntimeException: while proxying
  at mesosphere.marathon.api.LeaderProxyFilter.doFilter(LeaderProxyFilter.scala:147)
  [...]

此问题见官方说明 , 简单来说就是我们的ca证书非公共认证的签名,导致leader proxy报错, 官方后面提供了对应的解决办法,但经过测试并不太好实现, 这里有一个简单的方式避免就是配置leader_proxy_ssl_ignore_hostname 参数

4.2 LIBPROCESS_IP 环境变量问题导致未注册到mesos

错误信息:

Scheduler driver bound to loopback interface! Cannot communicate with remote master(s). You might want to set 'LIBPROCESS_IP' environment variable to use a routable IP address.

这里很多人弄错了一点LIBPROCESS_IP 环境变量不能通过export LIBPROCESS_IP=本机ip 进行配置,必须写入到配置文件/etc/sysconfig/marathon

#配置LIBPROCESS_IP 变量
echo "LIBPROCESS_IP=服务器ip" >> /etc/sysconfig/marathon

© 著作权归作者所有

共有 人打赏支持
TinkerSu
粉丝 0
博文 11
码字总数 6803
作品 0
长沙
高级程序员
私信 提问
跟我一起学docker(17)--多节点mesos集群

多节点mesos集群 1.配置master 配置文件:/etc/default/mesos 增加配置:IP=192.168.30.3(当前节点IP) 2.配置slave节点 配置文件:/etc/default/mesos 增加配置:IP=192.168.30.4(当前节点...

IT人故事
07/14
0
0
mesos+docker+marathon

最近工作不饱和啊,加上正好有空闲的机器,就想着搭个mesos+docker+marathon玩玩。上干货: 环境Centos6.7,内核版本3.18 先安装mesos的依赖包 安装maven,配置PATH保证能找到mvn命令即可 BT...

纳兰清风
2016/08/25
150
0
下一代云计算平台Apache Mesos定制自己的PaaS(应用发布+负载均衡+服务发现)

书接上文《下一代云计算平台Apache Mesos之使用marathon发布应用》 作为一个简单的PaaS(平台即服务),应该具备发布应用,调整应用个数,重启应用,暂停应用(marathon提供)以及负载均衡和...

引鸩怼孑
2015/05/05
0
0
Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)--负载均衡marathon-lb

之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡marathon-lb的部署过程: 配置过程如下: 1)首先分别在...

吞吞吐吐的
2017/10/12
0
0
搭建基于Jenkins, Apache Mesos和Marathon的弹性高可用的持续集成环境

【编者按】持续集成的开发实践是目前的一个热门话题,在本文中,数人科技云平台负责人周伟涛解析其利用开源的Jenkins,Apache Mesos和Marathon搭建弹性的,高可用的持续集成环境的实践,详细...

测试dog
2016/03/02
199
3

没有更多内容

加载失败,请刷新页面

加载更多

TiDB Lab 诞生记 | TiDB Hackathon 优秀项目分享

本文由红凤凰粉凤凰粉红凤凰队的成员主笔,他们的项目 TiDB Lab 在本届 TiDB Hackathon 2018 中获得了二等奖。TiDB Lab 为 TiDB 培训体系增加了一个可以动态观测 TiDB / TiKV / PD 细节的动画...

TiDB
15分钟前
0
0
当区块链遇到零知识证明

本文由云+社区发表 当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相信某个论断是正确的。这个定义有点抽象,下面笔者举...

腾讯云加社区
24分钟前
0
0
nginx的内容

1、nginx 稳定,由俄国人开发, nginx.org 分支: tengine,由淘宝开发; tengine.taobao.com nginx的功能:http服务, 负载均衡 反向代理 邮件代理 缓存加速 SSL, 功能完善;高并发 可以用来处理...

芬野de博客
43分钟前
3
0
websocket 接口简单测试工具,webcoket实用测试工具

chorme 插件 Simple WebSocket Client 对开发来说够用了,能连互联网,也能连本地的。 之前用jmeter 带复杂了,而且登录不好弄,这个基于浏览器,共享浏览器的登录信息。方便!...

SimonAt
48分钟前
5
0
Ext中 get、getDom、getCmp的区别

getDom方法能够得到文档中的DOM节点,该方法中包含一个参数,该参数可以是DOM节点的id、DOM节点对象或DOM节点对应的Ext元素(Element)等。 (与getElementById是一个效果) •Ext.onReady(funct...

休辞醉倒
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部