2.11. ノードの変更


インストール時に、OpenShift Container Platform はそれぞれのノードグループに対して openshift-node プロジェクトに configmap を作成します。

  • node-config-master
  • node-config-infra
  • node-config-compute
  • node-config-all-in-one
  • node-config-master-infra

既存のノードに設定の変更を加えるには、該当する設定マップを編集します。各ノードの sync pod は設定マップで変更の有無を監視します。インストール時に、同期 Pod は sync Daemonsets を使用して作成され、ノード設定パラメーターが存在する /etc/origin/node/node-config.yaml ファイルが各ノードに追加されます。同期 Pod が設定マップの変更を検出すると、そのノードグループ内のすべてのノードで node-config.yaml を更新し、適切なノードで atomic-openshift-node.service を再起動します。

$ oc get cm -n openshift-node
Copy to Clipboard Toggle word wrap

出力例

NAME                       DATA      AGE
node-config-all-in-one     1         1d
node-config-compute        1         1d
node-config-infra          1         1d
node-config-master         1         1d
node-config-master-infra   1         1d
Copy to Clipboard Toggle word wrap

node-config-compute グループの設定マップの例

apiVersion: v1
authConfig:      
1

  authenticationCacheSize: 1000
  authenticationCacheTTL: 5m
  authorizationCacheSize: 1000
  authorizationCacheTTL: 5m
dnsBindAddress: 127.0.0.1:53
dnsDomain: cluster.local
dnsIP: 0.0.0.0               
2

dnsNameservers: null
dnsRecursiveResolvConf: /etc/origin/node/resolv.conf
dockerConfig:
  dockerShimRootDirectory: /var/lib/dockershim
  dockerShimSocket: /var/run/dockershim.sock
  execHandlerName: native
enableUnidling: true
imageConfig:
  format: registry.reg-aws.openshift.com/openshift3/ose-${component}:${version}
  latest: false
iptablesSyncPeriod: 30s
kind: NodeConfig
kubeletArguments: 
3

  bootstrap-kubeconfig:
  - /etc/origin/node/bootstrap.kubeconfig
  cert-dir:
  - /etc/origin/node/certificates
  cloud-config:
  - /etc/origin/cloudprovider/aws.conf
  cloud-provider:
  - aws
  enable-controller-attach-detach:
  - 'true'
  feature-gates:
  - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true
  node-labels:
  - node-role.kubernetes.io/compute=true
  pod-manifest-path:
  - /etc/origin/node/pods  
4

  rotate-certificates:
  - 'true'
masterClientConnectionOverrides:
  acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  burst: 40
  contentType: application/vnd.kubernetes.protobuf
  qps: 20
masterKubeConfig: node.kubeconfig
networkConfig:   
5

  mtu: 8951
  networkPluginName: redhat/openshift-ovs-subnet  
6

servingInfo:                   
7

  bindAddress: 0.0.0.0:10250
  bindNetwork: tcp4
  clientCA: client-ca.crt 
8

volumeConfig:
  localQuota:
    perFSGroup: null
volumeDirectory: /var/lib/origin/openshift.local.volumes
Copy to Clipboard Toggle word wrap

1
認証および承認設定のオプション
2
Pod の /etc/resolv.conf に追加 IP アドレスです。
3
Kubelet のコマンドライン引数 に一致する Kubelet に直接渡されるキー/値のペアです。
4
Pod マニフェストまたはディレクトリーへのパスです。ディレクトリーには、1 つ以上のマニフェストファイルが含まれている必要があります。OpenShift Container Platform はマニフェストファイルを使用してノードに Pod を作成します。
5
ノード上の Pod ネットワーク設定です。
6
SDN (Software defined network) プラグインです。ovs-subnet プラグインは redhat/openshift-ovs-subnetovs-multitenant プラグインは redhat/openshift-ovs-multitenant、または ovs-networkpolicy プラグインは redhat/openshift-ovs-networkpolicy にそれぞれ設定します。
7
ノードの証明書情報です。
8
オプション: PEM でエンコードされた証明書バンドルです。これが設定されている場合、要求ヘッダーのユーザー名をチェックする前に、有効なクライアント証明書が提示され、指定ファイルで認証局に対して検証される必要があります。
注記

/etc/origin/node/node-config.yaml ファイルは手動で変更できません。

2.11.1. ノードリソースの設定

ノードのリソースは、kubelet 引数をノード設定マップに追加して設定することができます。

  1. 設定マップを編集します。

    $ oc edit cm node-config-compute -n openshift-node
    Copy to Clipboard Toggle word wrap
  2. kubeletArguments セクションを追加して、オプションを指定します。

    kubeletArguments:
      max-pods: 
    1
    
        - "40"
      resolv-conf: 
    2
    
        - "/etc/resolv.conf"
      image-gc-high-threshold: 
    3
    
        - "90"
      image-gc-low-threshold: 
    4
    
        - "80"
      kube-api-qps: 
    5
    
        - "20"
      kube-api-burst: 
    6
    
        - "40"
    Copy to Clipboard Toggle word wrap
    1
    2
    コンテナー DNS 解決設定のベースとして使用されるリゾルバーの設定ファイル。
    3
    イメージのガべージコレクションが常に実行される場合のディスク使用量のパーセント。デフォルト: 90%
    4
    イメージのガべージコレクションが一度も実行されない場合のディスク使用量のパーセント。ガべージコレクションの対象となる最低レベルのディスク使用量。デフォルト: 80%
    5
    Kubernetes API サーバーとの通信中に使用する 1 秒あたりのクエリー数 (QPS)。
    6
    Kubernetes API サーバーとの通信中に使用するバースト。

    利用可能なすべての kubelet オプションを表示するには、以下を実行します。

    $ hyperkube kubelet -h
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat