AD是Active Directory的简写,中文称活动目录。活动目录(Active Directory)主要提供以下功能:
更多AD DS概述请查看微软技术文档,本文详细介绍AD DS的部署。
这里不描述系统安装过程
在需要安装AD域控制器的电脑上打开服务器管理器,点击添加角色和功能
打开添加角色和功能向导,点击下一步
安装类型选择基于角色或基于功能的安装,点击下一步
服务器选择从服务器池中选择服务器,再选中池中的本地服务器,点击下一步
服务器角色选择Active Directory域服务,会弹出添加Active Directory域服务所需的功能?,点击添加功能
点击下一步, 这里不需要选择
点击下一步
确认这里勾选如果需要,自动重新启动目标服务器,点击安装
Active Directory域服务角色安装完成,点关闭
运行AD DS(Active Directory域服务的简称)部署向导,打开本地服务器的服务器管理器,点击通知-将此服务器提升为域控制器
打开AD DS的部署向导,由于我们这里是部署新的AD控制器,所以部署配置选择添加新林,把根域名设置成lework.com,点击下一步
解释:
设置域密码,点击下一步
域控制器选项:
点击下一步
点击下一步
设置AD DS的数据库、日志文件和SYSVOL的位置,点击下一步
点击下一步
先决条件检查通过,点击安装,如果不通过请根据提示查看原因
正在进行自动部署,部署完成后会自动重启服务器
AD域控制器部署完成,打开服务器管理器-工具-Active Directory用户和计算机
就可以看到我们刚才部署好的域,这样一个完整的域就部署完成了
添加Active Directory 证书服务 角色
选择证书颁发机构
点击下一步进行安装
点击通知-配置目标服务器上的Active Directory 证书服务
点击下一步
勾选证书颁发机构,点击下一步
选择企业CA,点击下一步
选择根CA,点击下一步
选择创建新的私钥,点击下一步
指定CA的加密,默认即可.点击下一步
指定CA名称,点击下一步
指定有效期,这里设置为10年,点击下一步
指定CA数据库的位置,默认即可.点击下一步
确认证书的配置,点击配置.点击下一步
配置完成后,点击关闭页面
配置完成后,重启下服务器
在证书颁发机构中可以看到给域控颁发的证书
运行–>ldp.exe
host: WIN-V5SBNPSNFOM.lework.com port: 389
conn:LDAP:\\WIN-V5SBNPSNFOM.lework.com:389
host: WIN-V5SBNPSNFOM.lework.com port: 636
conn:LDAPS:\\WIN-V5SBNPSNFOM.lework.com:636
SSL 勾选上
在Active Directory服务器上执行以下命令来导出证书,供客户端连接使用
C:\Users\Administrator>certutil -ca.cert client.crt
CA 证书[0]: 3 -- 有效
CA 证书[0]:
-----BEGIN CERTIFICATE-----
MIIDfTCCAmWgAwIBAgIQKb58EV2zDLBAbvMySV/voDANBgkqhkiG9w0BAQsFADBR
MRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGbGV3b3JrMSIw
IAYDVQQDExlsZXdvcmstV0lOLVY1U0JOUFNORk9NLUNBMB4XDTE5MDcyNDEwMjEw
NloXDTI5MDcyNDEwMzEwNlowUTETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmS
JomT8ixkARkWBmxld29yazEiMCAGA1UEAxMZbGV3b3JrLVdJTi1WNVNCTlBTTkZP
TS1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANbilH1FFCE8UH/Y
ye8E0jMeDqjIEtAowvmu2yKbU+adKUJHo+gMYaL/3dXjFFI5Tr++WC/QROIbVAub
RzCZudGFQ2OKbr/yJ3mt6adB/VmdmGljX+2c1hmRHZcnuMyjnx7J/xqwkBlWxMpp
uP58VoaSJxQtUr/aO9dR53NsAa3pDcKYKfgWtNpCCa43YtY2x2pznpe4OOmQ1ufs
JENjJwA1e73Uq+TxKRKRRsE92SVxefbgSsOzO8Pg4Hyk1B2pIx267eYQFMngHlq2
ojd003HsMBtGU68F3IZRpyX+njpb28PANOL1MgVIRCT5HpddtV6R0Uvj84mBp0q0
6CwPWA8CAwEAAaNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
VR0OBBYEFNMUY0FWH8vE5hsr5ZD9hrGF46rQMBAGCSsGAQQBgjcVAQQDAgEAMA0G
CSqGSIb3DQEBCwUAA4IBAQCj3EgCh4O7AutmMZE0/3UjOpz2o+GVIpym9V9JJGQw
z3rmmKtFO7G//YjjEN+bBmiDTUrmXTzar7RK8Vu2mLs+XqZipEE/GmcmdraZjQQD
2u3QZjKWFnLom1IIArbeIw9Mq6ZEr2cxsKI+biIg5YTpGjggyRrAHdFIdOInFYol
Zj50okNMZ+D7NJ83GupFCfFT7p4Glh2zL89a9u5qae9WE95y1G8fU30linQbCed2
ddCWWwU1+Jn5eEm0cAX5ogrY+UwqiYYBegWYLcxpndl/xLTGBYx7o7Sk2VMpHFO4
mPfPzpZ22rgS+Cvd7+S3nAvb22ygg1L+jMF63z8SFIP/
-----END CERTIFICATE-----
CertUtil: -ca.cert 命令成功完成。
使用SSL 配置OpenLDAP以进行安全通信。在此设置中,LDAP客户端通信通过安全端口636而不是非安全端口389进行。
在Multi-Master复制中,两个或多个服务器充当主服务器,所有这些服务器对LDAP目录中的任何更改都具有权威性。来自客户端的查询将在replication的帮助下分布在多个服务器上。
使用Syncrepl同步模式
由于syncrepl为拉取模式(到master拉数据),所以配置文件配置slave端的slapd.conf文件即可。初始化操作2种:
OpenLDAP是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),属于开源集中账号管理架构的实现,且支持众多系统版本,被广大互联网公司所采用。openldap-server的数据必须用原配的Berkeley DB,不能使用mysql作为后端数据库。
phpldapadmin是使用php语言开发的web端管理ldap的应用。
Self Service Password是一个Web应用,可以让用户自行更新、修改和重置LDAP中的用户密码。支持标准的LDAPv3目录服务,包括:OpenLDAP,Active Directory,OpenDS,ApacheDS等。
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500
标准的,但是简单多了并且可以根据需要定制.与X.500不同,LDAP支持TCP/IP
,这对访问Internet是必须的.LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到.简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式. LDAP是一个用来发布目录信息到许多不同资源的协议.通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大.
现在市场上有关LDAP的产品已有很多,各大软件公司都在他们的产品中集成了LDAP服务,如Microsoft的ActiveDirectory
、Lotus的Domino Directory
、IBM的WebSphere
中也集成了LDAP服务.LDAP的开源实现是OpenLDAP
,它比商业产品一点也不差,而且源码开放.
OpenLDAP是最常用的目录服务之一,它是一个由开源社区及志愿者开发和管理的一个开源项目,提供了目录服务的所有功能,包括目录搜索、身份认证、安全通道、过滤器等等.大多数的Linux发行版里面都带有OpenLDAP的安装包.OpenLDAP
服务默认使用非加密的TCP/IP
协议来接收服务的请求,并将查询结果传回到客户端.由于大多数目录服务都是用于系统的安全认证部分比如:用户登录和身份验证,所以它也支持使用基于 SSL/TLS 的加密协议来保证数据传送的保密性和完整性.OpenLDAP
是使用OpenSSL
来实现SSL/TLS
加密通信的.
LDAP的信息模型是建立在”条目”(entries)的基础上.一个条目是一些属性的集合,并且具有一个全局唯一的”可区分名称”DN,一个条目可以通过DN来引用.每一个条目的属性具有一个类型和一个或者多个值.类型通常是容易记忆的名称,比如”cn”是通用名称(common name),或者”mail”是电子邮件地址.条目的值的语法取决于属性类型.比如,cn属性可能具有一个值”Babs Jensen” .一个mail属性可能包含”bbs@example.com” .一个jpegphoto属性可能包含一幅JPEG(二进制)格式的图片.
请读者务必保持环境一致
安装过程中需要下载所需系统包,请务必使所有节点连上互联网。
实验环境:VMware的虚拟机
System OS | IP Address | Docker | Kernel | Hostname | Cpu | Memory | Application |
---|---|---|---|---|---|---|---|
CentOS 7.4.1708 | 192.168.77.130 | 18.09.6 | 5.1.11-1.el7 | k8s-m1 | 2C | 4G | k8s-master、etcd |
CentOS 7.4.1708 | 192.168.77.131 | 18.09.6 | 5.1.11-1.el7 | k8s-m2 | 2C | 4G | k8s-master、etcd |
CentOS 7.4.1708 | 192.168.77.132 | 18.09.6 | 5.1.11-1.el7 | k8s-m3 | 2C | 4G | k8s-master、etcd |
CentOS 7.4.1708 | 192.168.77.133 | 18.09.6 | 5.1.11-1.el7 | k8s-n1 | 2C | 4G | k8s-node |
CentOS 7.4.1708 | 192.168.77.134 | 18.09.6 | 5.1.11-1.el7 | k8s-n2 | 2C | 4G | k8s-node |
Kind是Kubernetes In Docker的缩写,顾名思义是使用Docker容器作为Node并将Kubernetes部署至其中的一个工具。官方文档中也把Kind作为一种本地集群搭建的工具进行推荐。默认情况下,Kind会先下载kindest/node镜像,该镜像包含kubernetes的主要组件,当镜像节点准备好时,Kind使用kubeadm进行集群的创建,内部使用containerd跑组件容器。最终,Kind只是为了方便测试kubernetes集群的,且不可用于生产环境。
本次使用全手工的方式以二进制形式部署kubernetes的ha集群,ha方式选择node节点代理apiserver的方式。
如果不想手动,或者想学习自动化部署的,可以看看Ansible 应用 之 【使用ansible来做kubernetes 1.14.3集群高可用的一键部署 】 文章。
hyperkube是Kubernetes服务器组件的一体化二进制文件。