文档章节

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

xueyi28
 xueyi28
发布于 2017/02/15 16:00
字数 1078
阅读 83
收藏 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
博文 92
码字总数 33680
作品 0
南宁
Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

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

陈延宗
06/29
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
一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群

最近在Youtube看Docker视频的过程中不幸看到了Mesos的介绍,然后就有一种一见如故的感觉,最终根据mesosphere官网的文档在IBM的Bluemix虚拟机上搭建了基于ZooKeeper + Mesos + Marathon的平台...

shanker
06/26
0
0
使用Mesos和Marathon管理Docker集群

分布式系统是难于理解、设计、构建 和管理的,他们将比单个机器成倍还要多的变量引入到设计中,使应用程序的根源问题更难发现。SLA(服务水平协议)是衡量停机和/或性能下降的标准,大多数现代...

Endeavour
2015/08/11
0
0
跟我一起学docker(16)--单节点mesos集群

Mesos简介 什么是MESOS? Apache Mesos 是一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行 Hadoop、MPI、Hypertable、Spark。 几个基本概念: Mesos master:负...

IT人故事会
05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]python3快速入门教程1 turtle绘图-2函数

菲波那契序列: >>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1>>> while b < 10:... print(b)... a, b = b, a+b...112......

python测试开发人工智能安全
今天
0
0
java环境变量配置最正确的方式

原贴:https://blog.csdn.net/qq_40007997/article/details/79784711,十分详细,亲测有效

kitty1116
今天
0
0
49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
1
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部