声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://blog.csdn.net/jimmyxian
新浪微博:@线超博
内容系本人学习、研究和总结,如有雷同,实属荣幸!
================================
docker swarm集群TLS配置
为了保证swarm集群的通信安全,可采用TLS协议进行加密传输,如下所示。
本例中,采用4个centos7主机,其中两个主机用于运行docker daemon,节点名称分别为node1、node2;一个主机用来运行swarm集群管理节点,名称为swarm;最后一个节点运行docker client,用来访问swarm
1、配置域名解析
在swarm节点上,修改/etc/hosts,增加node1、node2对应的ip
在docker daemon节点上,修改/etc/hosts,增加swarm对应的ip
在docker client节点上(运行docker命令访问swarm的节点),修改/etc/hosts,增加swarm对应的ip
2、证书
在配置过程中,需要生成3类证书,分别用于dockerclient、swarm以及docker deamon,具体生成方法如下:
2.1、生成CA证书
- (1)生成私钥
openssl genrsa -out CAkey.pem 2048
- (2)生成CA证书
openssl req -new -key CAkey.pem -x509 -days 3650 -out ca.pem
- (3)生成openssl.cnf
echo "extendedKeyUsage = clientAuth,serverAuth" > openssl.cnf
如果不配置,后续会出现Error,tls: client's certificate's extended key usage doesn't permit it to be used for client authentication
2.2生成swarm节点证书
- (1)生成私钥
openssl genrsa -out swarmKEY.pem 2048
- (2)生成证书CSR
openssl req