云网牛站
所在位置:首页 > Linux云服务器 > 安装后更新OpenShift 4.x群集SSH密钥(SSH Keys)的方法

安装后更新OpenShift 4.x群集SSH密钥(SSH Keys)的方法

2021-05-09 16:14:36作者:魏承戈稿源:云网牛站

本文介绍安装后更新OpenShift 4.x群集SSH密钥(SSH Keys)的方法,适用于Linux服务器上。内容有:更新OpenShift主节点SSH密钥、更新OpenShift Worker/Infra节点SSH密钥。

 

前言

在大多数情况下,您将不需要通过SSH访问您的OpenShift群集节点即可执行常规管理任务,因为OpenShift 4提供了可用于Shell访问的oc debug命令。如果您仍然希望对第2天的操作进行SSH访问群集节点,则必须使用部署期间使用的SSH密钥。对于丢失的专用和公用SSH密钥对,如果您具有权限oc管理,则可以在安装后更新OpenShift 4.x群集SSH密钥。

如果安装的OpenShift群集没有ssh密钥,则这也适用于安装后ssh密钥的配置。我们将看到您如何更新master的ssh密钥,OpenShift 4.x集群中的基础和辅助计算机。群集中SSH密钥的更新是通过在群集上修改(或创建)适当的MachineConfig对象来执行的。 

OpenShift 4是一个以操作员为中心的平台,Machine Config操作员将其扩展到操作系统本身,从而管理更新和配置更改,实质上是内核和kubelet之间的所有内容。默认情况下,RHCOS包含一个名为core的用户(从CoreOS Container Linux衍生而来),并在安装时指定了可选的SSH密钥。

相关参考:使用Minishift运行本地Openshift集群的方法

 

群集设置后更新OpenShift 4.x SSH密钥的说明

默认情况下,有两个MachineConfig对象处理SSH密钥的管理:

1、99-worker-ssh –用于工作节点。

2、99-master-ssh –对于集群中的主节点。

如果在群集安装时指定了SSH密钥,则会将它们传播到上述MachineConfig对象。

 

更新OpenShift主节点SSH密钥(SSH Keys)

如果较早的群集安装是使用SSH密钥完成的,请为主节点下载当前的SSH MachineConfig对象:

$ oc get mc 99-master-ssh -o yaml > 99-master-ssh.yml

这应该在具有管理员级别群集访问权限的堡垒服务器上完成。

下载文件后,请按所需的键进行编辑。对于没有SSH密钥创建的集群,请创建一个新文件99-master-ssh.yml:

安装后更新OpenShift 4.x群集SSH密钥(SSH Keys)的方法

apiVersion: machineconfiguration.openshift.io/v1

kind: MachineConfig

metadata:

  labels:

    machineconfiguration.openshift.io/role: master

  name: 99-master-ssh

spec:

  config:

    ignition:

      config: {}

      security:

        tls: {}

      timeouts: {}

      version: 2.2.0

    networkd: {}

    passwd:

      users:

      - name: core

        sshAuthorizedKeys:

        - ssh-rsa XXXXXXX.....

        - ssh-rsa YYYYYYY.....

    storage: {}

    systemd: {}

  fips: false

  kernelArguments: null

  osImageURL: ""

重要说明:

1、sshAuthorizedKeys数组包含所有有效的SSH公共密钥。每个元素上的每个SSH密钥。您必须小心使用YAML语法才能拥有有效的配置文件。

2、user:name字段不应更新,因为core是我们配置中当前支持的唯一用户。

3、更新MachineConfig对象可能会耗尽所有节点并重新启动所有节点(根据MachineConfigPool上的maxUnavailable设置)。确定这在您的基础架构中是否还可以。

要更新MachineConfig对象,请运行以下命令:

$ oc apply -f 99-master-ssh.yml

 

更新OpenShift Worker/Infra节点SSH密钥(SSH Keys)

相同的过程适用于工作程序节点MachineConfigPool。下载或创建worker ssh配置:

$ oc get mc 99-worker-ssh -o yaml > 99-worker-ssh.yml

该配置与以前的更新类似:

安装后更新OpenShift 4.x群集SSH密钥(SSH Keys)的方法

apiVersion: machineconfiguration.openshift.io/v1

kind: MachineConfig

metadata:

  labels:

    machineconfiguration.openshift.io/role: worker

  name: 99-worker-ssh

spec:

  config:

    ignition:

      config: {}

      security:

        tls: {}

      timeouts: {}

      version: 2.2.0

    networkd: {}

    passwd:

      users:

      - name: core

        sshAuthorizedKeys:

        - ssh-rsa XXXXXXX.....

        - ssh-rsa YYYYYYY.....

    storage: {}

    systemd: {}

  fips: false

  kernelArguments: null

  osImageURL: ""

更改完成后,应用文件:

$ oc apply -f 99-worker-ssh.yml

OpenShift Machine Config Operator应该很快开始应用更改。您可以运行以下命令来查看要更新的MachineConfigPools:

oc get mcp

您还可以使用以下命令来了解如何在单个节点中应用更改:

export NODE="master-01.example.com"

oc -n openshift-machine-config-operator logs -c machine-config-daemon $(oc -n openshift-machine-config-operator get pod -l k8s-app=machine-config-daemon --field-selector spec.nodeName=${NODE} -o name) -f

将master-01.example.com替换为要检查的节点名称。

 

相关主题

在Linux服务器OpenShift 4.x中更改pids_limit值的方法

精选文章
热门文章