3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenShiftでIBM PowerのRMC接続をするための方法

Posted at

RMC接続とは

IBM Powerでは、LPARに割り当てられたリソースの動的変更やLPM (Live Partition Mobility)を行うために、RMC(Resource Monitoring and Control) 接続が必要となります。
RMC接続はHMCからLPARを管理するための接続となっています。

リソースの動的変更はDLPARと呼ばれ、CPUやメモリーの増減やI/Oアダプターの接続・削除をLPARを稼働したまま行うことができます。

Linuxでも利用できるのですが、OpenShiftで使用されるCoreOSでも利用できます。
CoreOSの場合は、OS自身にRMC用のパッケージをインストールするのではなく、RMC接続用のコンテナを起動することでHMCとの通信ができるようになります。

OpenShift環境でのRMC接続

namespaceの作成

RMC用のコンテナを実行するためのnamespace powervm-rmc を作成します。

コマンド
oc new-project powervm-rmc
実行結果
[root@ocp-bastion ~]# oc new-project powervm-rmc
Now using project "powervm-rmc" on server "https://api.ocp.3n7.com:6443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app rails-postgresql-example

to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:

    kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.43 -- /agnhost serve-hostname

サービスアカウントの作成

RMCはコンテナが稼働するノードのOS部分に影響を与えるため、SCC(Security Context Constrains)設定が必要となります。
そのため、サービスアカウント powervm-rmc を作成します。

コマンド
oc create sa powervm-rmc
実行結果
[root@ocp-bastion ~]# oc create sa powervm-rmc
serviceaccount/powervm-rmc created

SCCの適用

上記で作成したサービスアカウントに権限を付与します。

コマンド
oc adm policy add-scc-to-user -z powervm-rmc privileged -n powervm-rmc
実行結果
[root@ocp-bastion ~]# oc adm policy add-scc-to-user -z powervm-rmc privileged -n powervm-rmc
clusterrole.rbac.authorization.k8s.io/system:openshift:scc:privileged added: "powervm-rmc"

デプロイメントの作成

RMC接続用のコンテナを起動するためのデプロイメントを記述します。
以下の内容を含むyamlファイルを作成してください。

powervm-rmc-deployment.yaml
kind: DaemonSet
apiVersion: apps/v1
metadata:
  name: powervm-rmc
  namespace: powervm-rmc
spec:
  selector:
    matchLabels:
      app: powervm-rmc
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: powervm-rmc
    spec:
      nodeSelector:
        kubernetes.io/arch: ppc64le
        node.openshift.io/os_id: rhcos
      restartPolicy: Always
      serviceAccountName: powervm-rmc
      hostNetwork: true
      containers:
        - name: powervm-rmc
          image: "quay.io/powercloud/rsct-ppc64le:latest"
          ports:
            - name: rmc-tcp
              hostPort: 657
              containerPort: 657
              protocol: TCP
            - name: rmc-udp
              hostPort: 657
              containerPort: 657
              protocol: UDP
          resources:
            requests:
              cpu: 100m
              memory: 500Mi
            limits:
              memory: 4Gi
          volumeMounts:
            - name: lib-modules
              mountPath: /lib/modules
              readOnly: true
          securityContext:
            privileged: true
            runAsUser: 0
      serviceAccount: powervm-rmc
      volumes:
        - name: lib-modules
          hostPath:
            path: /lib/modules
      tolerations:
        - key: node-role.kubernetes.io/master
          operator: Exists
          effect: NoSchedule

デプロイメント適用

最後に、上記で作成したyamlファイルをOpenShiftクラスターに適用します。

コマンド
oc apply -f powervm-rmc-deployment.yaml
[root@3n7-ocp-bastion ~]# oc apply -f powervm-rmc-deployment.yaml
daemonset.apps/powervm-rmc created

起動確認

デプロイしたPodが稼働しているかを下記のコマンドで確認します。

コマンド
oc get pod -n powervm-rmc -o wide

すべてのノード (Master, Worker問わず) で稼働していることが下記のように確認できます。

[root@3n7-ocp-bastion ~]# oc get pod -n powervm-rmc -o wide
NAME                READY   STATUS    RESTARTS   AGE   IP             NODE                   NOMINATED NODE   READINESS GATES
powervm-rmc-2g4h2   1/1     Running   1          9d    192.168.60.3   master-2.ocp.3n7.com   <none>           <none>
powervm-rmc-56qbg   1/1     Running   1          9d    192.168.60.1   master-0.ocp.3n7.com   <none>           <none>
powervm-rmc-m5vxc   1/1     Running   2          9d    192.168.60.4   worker-0.ocp.3n7.com   <none>           <none>
powervm-rmc-nds5h   1/1     Running   1          9d    192.168.60.6   worker-2.ocp.3n7.com   <none>           <none>
powervm-rmc-tlb6q   1/1     Running   1          9d    192.168.60.5   worker-1.ocp.3n7.com   <none>           <none>
powervm-rmc-xwsgv   1/1     Running   1          9d    192.168.60.2   master-1.ocp.3n7.com   <none>           <none>

また、画像のようにHMC上でRMC接続がアクティブ表記になっていればHMCへの接続もできている状態です。
image.png

Power Virtual Serverの場合は、インスタンス一覧の一番右側 状況 が アクティブになっていればRMC接続が確立されています。
image.png

3
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?