2.4. 为远程访问生成额外的 kubeconfig 文件
				如果您需要比默认远程访问文件提供更多的主机名或 IP 地址,您可以生成额外的 kubeconfig 文件。
			
您必须重启 MicroShift 才能实现配置更改。
先决条件
- 
						您已为 MicroShift 创建了 config.yaml。
流程
- 可选:您可以显示 - config.yaml的内容。运行以下命令:- cat /etc/microshift/config.yaml - $ cat /etc/microshift/config.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 可选:您可以显示远程访问 - kubeconfig文件的内容。运行以下命令:- cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfig - $ cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfig- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 重要- 其他远程访问 - kubeconfig文件必须包含红帽构建的 MicroShift- config.yaml文件中列出的服务器名称之一。其他- kubeconfig文件还必须使用相同的 CA 进行验证。
- 要为其他 DNS 名称 SAN 或外部 IP 地址生成额外的 - kubeconfig文件,请将您需要的条目添加到- apiServer.subjectAltNames字段。在以下示例中,使用的 DNS 名称为- alt-name-1,IP 地址为- 1.2.3.4。- 带有额外身份验证值的 - config.yaml示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令,重启 MicroShift 以应用配置更改并自动生成您需要的 - kubeconfig文件:- sudo systemctl restart microshift - $ sudo systemctl restart microshift- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要检查其他远程访问 - kubeconfig文件的内容,请将- config.yaml中列出的名称或 IP 地址插入到- cat命令中。例如,以下示例命令中使用- alt-name-1:- cat /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig - $ cat /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 选择 - kubeconfig文件,其中包含您要用来连接集群的 SAN 或 IP 地址。在本例中,- cluster.server字段中包含'alt-name-1' 的- kubeconfig是正确的文件。- 额外 - kubeconfig文件的内容- clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:6443- clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:6443- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig文件值来自- apiServer.subjectAltNames配置值。
 
所有这些参数都作为通用名称(CN)和主题替代名称(SAN)包含在 API 服务器的外部提供证书中。
2.4.1. 打开防火墙以远程访问 MicroShift 集群
使用以下步骤打开防火墙,以便远程用户可以访问 MicroShift 集群。必须在 workstation 用户可以访问集群前完成此步骤。
					对于此过程,user@microshift 是 MicroShift 主机上的用户,负责设置该机器,使其可以被单独的工作站上的远程用户访问。
				
先决条件
- 
							已安装 oc二进制文件。
- 您的帐户具有集群管理特权。
流程
- 在 MicroShift 主机上以 - user@microshift的身份,运行以下命令来打开 Kubernetes API 服务器的防火墙端口 (- 6443/tcp):- sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload - [user@microshift]$ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 以 - user@microshift的身份,输入以下命令验证 MicroShift 是否正在运行:- oc get all -A - [user@microshift]$ oc get all -A- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.4.2. 远程访问 MicroShift 集群
					使用以下步骤,使用 kubeconfig 文件从远程位置访问 MicroShift 集群。
				
					user@workstation 登录用于远程访问主机计算机。该流程中的 <user> 值是 user@workstation 登录到 MicroShift 主机所使用的用户名。
				
先决条件
- 
							已安装 oc二进制文件。
- 
							user@microshift已打开来自本地主机的防火墙。
流程
- 以 - user@workstation的身份,如果 Red Hat Enterprise Linux (RHEL)机器没有,使用以下命令创建一个- ~/.kube/文件夹:- mkdir -p ~/.kube/ - [user@workstation]$ mkdir -p ~/.kube/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以 - user@workstation的身份,运行以下命令来为您的 MicroShift 主机的主机名设置变量:- MICROSHIFT_MACHINE=<name or IP address of MicroShift machine> - [user@workstation]$ MICROSHIFT_MACHINE=<name or IP address of MicroShift machine>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以 - user@workstation的身份,运行以下命令来复制生成的- kubeconfig文件,该文件包含您要从运行 MicroShift 的 RHEL 机器连接到本地机器的主机名或 IP 地址:- ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config - [user@workstation]$ ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 要为此步骤生成 - kubeconfig文件,请参阅为远程访问生成额外的 kubeconfig 文件。
- 以 - user@workstation的身份,运行以下命令来更新- ~/.kube/config文件的权限:- chmod go-r ~/.kube/config - $ chmod go-r ~/.kube/config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 以 - user@workstation的身份,输入以下命令验证 MicroShift 是否正在运行:- oc get all -A - [user@workstation]$ oc get all -A- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow