MicroShift is Technology Preview software only.
For more information about the support scope of Red Hat Technology Preview software, see Technology Preview Support Scope.2.4. 为远程访问生成额外的 kubeconfig 文件
如果您需要多于默认远程访问文件提供的主机名或 IP 地址,您可以生成额外的 kubeconfig 文件。
您必须重启红帽构建的 MicroShift 才能实现配置更改。
先决条件
-
您已为 MicroShift 的红帽构建创建了
config.yaml。
流程
(可选)您可以通过运行以下命令来显示
config.yaml的内容:cat /etc/microshift/config.yaml
$ cat /etc/microshift/config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)您可以运行以下命令来显示 remote-access
kubeconfig文件的内容:cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfig
$ cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要其他远程访问
kubeconfig文件必须包含红帽构建的 MicroShiftconfig.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 运行以下命令,重启 Red Hat build of MicroShift 以应用配置更改并自动生成
kubeconfig文件:sudo systemctl restart microshift
$ sudo systemctl restart microshiftCopy 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/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 选择包含您要用于连接集群的 SAN 或 IP 地址的
kubeconfig文件。在本例中,cluster.server字段中包含'alt-name-1' 的kubeconfig是正确的文件。额外
kubeconfig文件的内容示例clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:6443clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:64431 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 --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以
user@microshift的身份,输入以下命令验证红帽构建的 MicroShift 是否正在运行:oc get all -A
[user@microshift]$ oc get all -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2. 远程访问 MicroShift 集群的红帽构建 复制链接链接已复制到粘贴板!
使用以下步骤,使用 kubeconfig 文件从远程工作站访问 MicroShift 集群的红帽构建。
user@workstation login 用于远程访问主机计算机。该流程中的 <user > 值是 user@workstation 登录红帽 MicroShift 主机的红帽构建的用户名称。
先决条件
-
已安装
oc二进制文件。 -
@user@microshift已打开来自本地主机的防火墙。
流程
以
user@workstation的身份,如果您的 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 Red Hat build of MicroShift machine>
[user@workstation]$ MICROSHIFT_MACHINE=<name or IP address of Red Hat build 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/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以
user@workstation的身份,运行以下命令来更新~/.kube/config文件的权限:chmod go-r ~/.kube/config
$ chmod go-r ~/.kube/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以
user@workstation的身份,输入以下命令验证 MicroShift 的红帽构建是否正在运行:oc get all -A
[user@workstation]$ oc get all -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow