文档章节

marathon和mesos的zookeeper数据加密和验证

xueyi28
 xueyi28
发布于 2017/02/15 16:00
字数 1078
阅读 94
收藏 0

###zookeeper设置用户验证访问权限 ####首先你要弄明白zookeeper的验证 先给一个例子

#zkCli.sh
create /mynode content digest:user:tpUq/4Pn5A64fVZyQ0gOJ8ZWqkY=:cdrwa

创建一个节点,给予内容的同时,赋上对应的用户和密码验证方式。

digest:user:tpUq/4Pn5A64fVZyQ0gOJ8ZWqkY=:cdrwa

这段就是重要的授权控制语句,它由三部分构成:scheme : id : permissions 关于这三个字段的意义和介绍,可以看这里 ####生成自己的帐号和密码

获取zookeeper的运行jar包加载路径
#ps axu|grep zookeeper
#java -cp  ./zookeeper-3.4.8.jar:./lib/log4j-1.2.16.jar   org.apache.zookeeper.server.auth.DigestAuthenticationProvider   user:password
user:password->user:tpUq/4Pn5A64fVZyQ0gOJ8ZWqkY=

这样就得到这里的帐号和密码了。 ####设置zookeeper中的数据验证

#zkCli.sh
setAcl /marathon digest:user:tpUq/4Pn5A64fVZyQ0gOJ8ZWqkY=:cdrwa
setAcl /mesos digest:user:tpUq/4Pn5A64fVZyQ0gOJ8ZWqkY=:cdrwa

####mesos和marathon的配置变更 zk://username:password@servers/path 不过这里提一点,mesos,marathon目前只支持digest的验证模式,代码里有写

https://github.com/apache/mesos/blob/81cd023eb9945a22c220edc966393dcfcdbce256/include/mesos/zookeeper/url.hpp

marathon关于zookeeper的验证测试

https://github.com/mesosphere/marathon/blob/75678c7704372f5e83ea7511ac42018182cd4e8c/src/test/scala/mesosphere/marathon/integration/ZooKeeperTest.scala

zookeeper的验证参考资料https://cwiki.apache.org/confluence/display/ZOOKEEPER/Client-Server+mutual+authentication

###mesos的验证 除了保护zookeeper的数据,我们还要去保护mesos的master和slave,当然framework也是需要的。mesos-master需要加装三个地方的验证:

  1. 验证合法的slave,只有通过验证的slave才被允许接入集群
  2. 验证合法的framework,只有通过验证的合法框架,才能被允许接入集群。
  3. 对mesos的webui和相关的接口需要有最起码的基础验证

为此你需要增加以下的验证配置:

--acls=file:///etc/mesos/acl.json 
框架注册的房屋i控制
--authenticate_slaves=true 
开启agent的验证
--authenticate_http_readonly=true 
开启webui和接口的只读验证
--authenticate_http_readwrite=true 
开启webui和接口的读写验证
--authenticate=true 
开启框架注册验证
--credentials=file:///etc/mesos/cred.json
验证帐号和密码的描述文件

###agent的验证

--default_role=your_role 
默认的角色
--credential=file:///etc/mesos/cred.json 
密钥文件
--docker_config=/root/.docker/config.json
私有镜像库的验证

这个要求Mesos版本要高一点,应该最起码要到1.0.x以上 ###famework的验证

--http_credentials user:password
webui的帐号和密码 
--mesos_authentication
--mesos_authentication_principal   mesos-user
marathon框架所要使用的验证帐号,在mesos-master那边的帐号
--mesos_authentication_secret_file  /etc/marathon/marathon.secret
所需的密码文件,注意文件里必须是一个裸密码,最好用echo -n "passsword">marathon.secret生成,里面不能有特殊字符

一定要注意自己用的相关软件的版本,marathon和mesos的版本中配置变更很频繁,遇到问题要多看help和相关的配置文档 一些验证方面的资料

###遇到的问题

I0308 11:17:00.726840 28051 slave.cpp:954] Authenticating with master master@192.168.119.132:5050
I0308 11:17:00.727154 28051 slave.cpp:965] Using default CRAM-MD5 authenticatee
I0308 11:17:00.727298 28051 slave.cpp:927] Detecting new master
I0308 11:17:00.727375 28062 authenticatee.cpp:121] Creating new client SASL connection
W0308 11:17:05.731155 28050 slave.cpp:1068] Authentication timed out
W0308 11:17:05.731495 28050 slave.cpp:1013] Failed to authenticate with master master@192.168.119.132:5050: Authentication discarded
I0308 11:17:15.281414 28059 slave.cpp:954] Authenticating with master master@192.168.119.132:5050
I0308 11:17:15.281615 28059 slave.cpp:965] Using default CRAM-MD5 authenticatee
I0308 11:17:15.281926 28066 authenticatee.cpp:121] Creating new client SASL connection
W0308 11:17:20.285291 28066 slave.cpp:1068] Authentication timed out
W0308 11:17:20.285634 28066 slave.cpp:1013] Failed to authenticate with master master@192.168.119.132:5050: Authentication discarded
W0308 11:13:04.119566 28067 slave.cpp:1013] Failed to authenticate with master master@192.168.119.132:5050: Authentication error: Failed to get list of mechanisms: SASL(-4): no mechanism available: Internal Error -4 in server.c near line 1757

mesos的验证方式采用的cram-md5的方式,在mesos的Master和slave和marathon的机器上都要安装cyrus-sasl-md5和cyrus-sasl-scram,否则就成了这个样子,客户端和服务端无法给出一个统一的验证方式,进而无法进行验证。

他妈的的我今天又遇到这个问题了,该安装的软件包都安装了,还是不行,最后你猜怎么着,这破玩意需要你配置好你本地的dns,就是你的/etc/resolv.conf,fuck,我有点略怀疑人生了都,居然这鬼还会影响到。 这个问题的终结 https://my.oschina.net/xueyi28/blog/1858102

http://mesos.apache.org/documentation/latest/authentication/

https://mesosphere.github.io/marathon/docs/framework-authentication.html

© 著作权归作者所有

共有 人打赏支持
xueyi28
粉丝 7
博文 93
码字总数 33978
作品 0
南宁
Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

简介 mesosphere mesos marathon zookeeper: 为master的mesos/marathon的配置文件,这保证master更轻量级。 大概为这几个概念,能找到这里的基本上都是知道他们是干啥的,这里不废话了。不懂...

陈延宗
06/29
0
0
Yum安装mesos+zookeeper+marathon管理docker集群

Yum安装mesos+zookeeper+marathon管理docker集群 Apache-Mesos简介 Apache-Mesos是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易使用。官方...

漂移的兔子
08/21
0
0
基于Zookeeper+Mesos+Marathon搭建Docker集群管理平台

Mesos概述 Apache Mesos 是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易使用。其采用了Master/Slave结构来简化设计,将Master做的尽可能...

小樱桃Cherry
08/24
0
0
Marathon+Mesos+Docker部署

Marathon 马拉松是一个生产级的容器编排平台,用于中间层的数据中心操作系统(DC/OS)和Apache Mesos.为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡...

回忆总想哭
08/18
0
0
mesos + marathon + docker部署

mesos + marathon + docker部署 架构设计 mesos + marathon均部署在CentOS7上,角色分配如下: Name Address OS Role docker1 10.10.10.11 CentOS7 zookeeper、marathon、mesos-master、mes......

张富贵
2015/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android WebView制作简易浏览器

最终效果 先创建一个WebView控件,其他的就是通过线性布局在上方加入网址输入框和两个按钮 <WebView android:id="@+id/act_webview_wv" android:layout_width="ma...

lanyu96
1分钟前
0
0
解决MacOS升级系统Sierra到Mojave后git报错

错误信息 升级MacOS Sierra到Mac Mojave后执行git命令报错: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/......

阿dai
2分钟前
0
0
兄弟连区块链教程以太源码分析CMD深入分析(一)

cmd包分析 cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 geth包下面的: func init() { // Initialize the...

兄弟连区块链入门教程
3分钟前
0
0
Titan Framework MongoDB深入理解1

在TitanFrameWork框架中,已经集成了MongoDB的各个功能,现在我们对框架内部的一些重要类进行分析与解读。 MongoDBConverter 在Titan框架中,比较重要的一个接口就是MongoDBConverter,它是作...

云季科技
8分钟前
0
0
SpringBoot集成Quartz

SpringBoot集成Quartz 什么是Quartz Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smalle......

Grittan
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部