で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン –...

37
ICPで管理できるAIXコンテナー 〜導⼊編〜 20190517⽇本アイ・ビー・エム株式会社 Power Systems テクニカル・セールス ⽇本アイ・ビー・エム システムズ・エンジニアリング株式会社

Transcript of で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン –...

Page 1: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

ICPで管理できるAIXコンテナー〜導⼊編〜

2019年05⽉17⽇

⽇本アイ・ビー・エム株式会社 Power Systems テクニカル・セールス

⽇本アイ・ビー・エムシステムズ・エンジニアリング株式会社

Page 2: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

AIXでもコンテナー技術を利⽤できますLinuxと同じように、OSからミドルウェアまでパッケージ化可能

2

AIXでもコンテナー利⽤

������

I

������

IBM Cloud PrivateIBM Cloud Private

A

����

CE CE

L I

E

C

Page 3: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• AIXノードをICPのWorkerノードとして登録可能• AIXコンテナーはWorkload Partition (WPAR) を使⽤して実装

3

AIXコンテナー概要

– WPARはAIX6.1で実装されたAIXのコンテナー技術– AIXコンテナーではWPARとICPとを連携するサービスを導⼊してICPからAIXノードを管理

• AIXコンテナーはShared WPARで実装– /usr, /optはグローバル環境を読み取り専⽤でマウント– 必要なファイルセットはグローバル環境にインストール

• AIXコンテナーの稼働条件– AIXコンテナーは作成されたAIXと同じレベルのノードでのみデプロイ可能

• AIXの前提条件– AIX7.2 TL3以降– メモリ︓8GB以上を推奨, /var︓50GB以上の空き領域を推奨

Page 4: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• ICPの前提バージョン– v3.1.2 or v2.1.0.3

• 本資料には、バージョン別のインストール⽅法を記載しています• ICPのネットワーク・タイプ

– AIXコンテナーを使⽤する場合、選択できるネットワーク・タイプはcalicoのみ• ICPのIPsec設定

– AIXコンテナーを使⽤する場合、ICPのIPsec設定は無効化すること

4

IBM Cloud Privateの前提条件

# cat config.yaml〜中略〜## Network Settingsnetwork_type: calico〜中略〜## IPSec mesh Settings## If user wants to configure IPSec mesh, the following parameters## should be configured through config.yamlipsec_mesh:enable: false

Page 5: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• AIXノードをICPに追加/AIXコンテナーを作成するステップ

5

AIXコンテナー導⼊・構成概要

IBM Cloud Private

Linuxノード ②AIXノードを追加

AIXノード①パッケージ導⼊

IBM Cloud Private

AIXノード

①コンテナー・イメージ作成

AIXコンテナー

②コンテナーのデプロイ

AIXコンテナーの導⼊ AIXコンテナー・イメージの作成

① AIXにコンテナー・パッケージを導⼊② AIXノードをICPに追加(コンテナーの構成/始動)

① AIXノード上でコンテナー・イメージを作成② 作成したイメージをAIXノードにデプロイ

Page 6: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

AIXコンテナーの導⼊ICP v3.1.2

Page 7: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• icp-workerの導⼊– ここではyumを使⽤してicp-workerを導⼊– ICP v3.1.2⽤のパッケージを指定

7

AIXコンテナー・パッケージの導⼊

# yum install icp-worker-3.1.2

# export PATH=$PATH:/opt/freeware/bin

• パスの構成– AIXコンテナー関連コマンド使⽤のためPATH変数を設定

ICP v3.1.2

Page 8: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• icp-worker RPMパッケージ導⼊– AIX Toolbox for Linux Applicationから以下のパッケージをダウンロード

• ca-certificates-2017.07.17-1.aix6.1.ppc.rpm • calico-cni-3.3.1-1.aix7.2.ppc.rpm• calico-node-3.3.1-1.aix7.2.ppc.rpm• cloudctl-3.1.2.0-1.aix7.2.ppc.rpm • criwpar-0.2.0-1.aix7.2.ppc.rpm• icp-worker-3.1.2-1.aix7.2.ppc.rpm• kubectl-1.12.4-1.aix7.2.ppc.rpm• kubelet-1.12.4-1.aix7.2.ppc.rpm• kubernetes-node-img-1.12.4-1.aix7.2.ppc.rpm

– ダウンロードしたパッケージをインストール

8

(参考)⼿動でのコンテナー・パッケージ導⼊

# rpm -ivh ca-certificates-2017.07.17-1.aix6.1.ppc.rpm ¥ calico-cni-3.3.1-1.aix7.2.ppc.rpm ¥ calico-node-3.3.1-1.aix7.2.ppc.rpm ¥ cloudctl-3.1.2.0-1.aix7.2.ppc.rpm ¥ criwpar-0.2.0-1.aix7.2.ppc.rpm ¥ icp-worker-3.1.2-1.aix7.2.ppc.rpm ¥ kubectl-1.12.4-1.aix7.2.ppc.rpm ¥ kubelet-1.12.4-1.aix7.2.ppc.rpm ¥ kubernetes-node-img-1.12.4-1.aix7.2.ppc.rpm

ICP v3.1.2

Page 9: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• 名前解決– /etc/hostsにICPマスターノードを追加– ここではICPマスターノードはホスト名︓mycluster.icp, IPアドレス: 192.168.48.20

• kubelet, kube-proxyの証明書と鍵の構成– ICPマスターノードからAIXノードに証明書と鍵をコピー

9

AIXコンテナーの構成

192.168.48.20 mycluster.icp

# scp -r [email protected]:/etc/cfc/{kubelet,kube-proxy} /etc/cfc/

※ ICPについては参考資料︓ICP_v3.1.0_on Power_構成ガイドを参照

ICP v3.1.2

Page 10: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• インターフェース構成– ICPマスターノードと通信するインターフェースを指定– デフォルトはen0なので必要に応じて修正

• 時刻同期– ICPマスターノードとAIXノードが時刻同期できていること

10

AIXコンテナーの構成

# cat /etc/criwpard/criwpard.conf{"network": {"host_interface": "en0"

}}

ICP v3.1.2

Page 11: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• ICPへのログイン– kubectlコマンドの設定を⾏うために、cloudctlコマンドでログインします

11

Kubectlコマンドの設定

# cloudctl login -a https://mycluster.icp:8443 -u admin

Password>Authenticating...OK

Targeted account mycluster Account (id-mycluster-account)

〜中略〜

User "mycluster-user" set.Context "mycluster-context" created.Switched to context "mycluster-context".OK

Configuring helm: /.helmOK

ICP v3.1.2

Page 12: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Kubernetes DaemonSetsの構成– 構成スクリプトを実⾏– ICPのWebインターフェースのIPアドレスとクラスター間通信のIPアドレスのセグメントが異なる場合はスクリプト実⾏後に修正が必要

12

AIXコンテナーの構成

# /opt/freeware/bin/k8s-setup.shThis script installs Kubernetes daemonsets for AIX nodes in the IBM Cloud Private cluster.kubectl CLI must be configured with "admin" privileges on the node before running this script.

Continue [y/N]? y

〜中略〜Install calico-node-aix daemonset [y/N]? yRemoving calico-node-aix daemonset... Error from server (NotFound): daemonsets.extensions "calico-node-aix" not founddoneInstalling calico-node-aix daemonset... daemonset.extensions "calico-node-aix" createddone

ICP v3.1.2

Page 13: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Kubernetesサービスの起動– AIXノードでKubernetesサービスを起動

– AIX起動時にKubernetesサービスが起動するように設定

• AIXノードの追加確認– AIXノードがICPクラスターに追加されたことを確認

13

AIXコンテナーの始動

# startsrc -g kube-system

# cp /opt/freeware/share/kubernetes/Skube /etc/rc.d/rc2.d/

# kubectl get nodesNAME STATUS ROLES AGE VERSION192.168.48.20 Ready etcd,master,proxy 201d v1.12.4+icp-ee192.168.48.21 Ready management 84d v1.12.4+icp-ee192.168.48.23 Ready worker 201d v1.12.4+icp-ee192.168.48.24 Ready worker 201d v1.12.4+icp-ee192.168.48.25 Ready worker 36m v1.12.4+aix

ICP v3.1.2

Page 14: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

AIXコンテナーの導⼊v2.1.0.3

Page 15: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• icp-workerの導⼊– ここではyumを使⽤してicp-workerを導⼊– ICP v2.1.0.3⽤のパッケージを指定

15

AIXコンテナー・パッケージの導⼊

# yum install icp-worker-2.1.0.3

# export PATH=$PATH:/opt/freeware/bin

• パスの構成– AIXコンテナー関連コマンド使⽤のためPATH変数を設定

ICP v2.1.0.3

Page 16: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• icp-worker RPMパッケージ導⼊– AIX Toolbox for Linux Applicationから以下のパッケージをダウンロード

• ca-certificates-2017.07.17-1.aix6.1.ppc.rpm• calico-cni-2.0.3-1.aix7.2.ppc.rpm• calico-node-3.0.4-1.aix7.2.ppc.rpm• criwpar-0.1.0-1.aix7.2.ppc.rpm• icp-worker-2.1.0.3-1.aix7.2.ppc.rpm• kubectl-1.10.0-1.aix7.2.ppc.rpm• kubernetes-node-1.10.0-1.aix7.2.ppc.rpm• libgcc-8.1.0-2.aix7.2.ppc.rpm• libgo-8.1.0-2.aix7.2.ppc.rpm

– ダウンロードしたパッケージをインストール

16

(参考)⼿動でのコンテナー・パッケージ導⼊

# rpm -ivh ca-certificates-2017.07.17-1.aix6.1.ppc.rpm calico-cni-2.0.3-1.aix7.2.ppc.rpm ¥> calico-node-3.0.4-1.aix7.2.ppc.rpm criwpar-0.1.0-1.aix7.2.ppc.rpm icp-worker-2.1.0.3-1.aix7.2.ppc.rpm ¥> kubectl-1.10.0-1.aix7.2.ppc.rpm kubernetes-node-1.10.0-1.aix7.2.ppc.rpm libgcc-8.1.0-2.aix7.2.ppc.rpm ¥> libgo-8.1.0-2.aix7.2.ppc.rpm

ICP v2.1.0.3

Page 17: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• 名前解決– /etc/hostsにICPマスターノードを追加– ここではICPマスターノードはホスト名︓mycluster.icp, IPアドレス: 192.168.55.56

• kubelet, kube-proxyの証明書と鍵の構成– ICPマスターノードからAIXノードに証明書と鍵をコピー

17

AIXコンテナーの構成

192.168.55.56 mycluster.icp

# scp [email protected]:/var/lib/kubelet/{kubelet-config,ca.crt,kubelet.crt,kubelet.key, ¥> kube-proxy-config,kube-proxy.crt,kube-proxy.key} /var/lib/kubelet/

※ ICPについては参考資料︓ICP_v3.1.0_on Power_構成ガイドを参照

ICP v2.1.0.3

Page 18: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• インターフェース構成– ICPマスターノードと通信するインターフェースを指定– デフォルトはen0なので必要に応じて修正

• 時刻同期– ICPマスターノードとAIXノードが時刻同期できていること

18

AIXコンテナーの構成

# cat /etc/criwpard/criwpard.conf{"network": {"host_interface": "en0"

}}

ICP v2.1.0.3

Page 19: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• kubectl CLI構成– ICPのWebインターフェースにadmin権限でログインし、クライアントの構成を選択– 表⽰された構成コマンドをAIXノード上で実⾏

– kubectlコマンドの実⾏確認

19

AIXコンテナーの構成

# kubectl get nodesNAME STATUS ROLES AGE VERSION192.168.55.56 Ready <none> 33m v1.10.0+icp-ee

ICP v2.1.0.3

Page 20: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Kubernetes DaemonSetsの構成– 構成スクリプトを実⾏– ICPのWebインターフェースのIPアドレスとクラスター間通信のIPアドレスのセグメントが異なる場合はスクリプト実⾏後に修正が必要

20

AIXコンテナーの構成

# /opt/freeware/bin/k8s-setup.shThis script installs Kubernetes daemonsets for AIX nodes in the IBM Cloud Private cluster.kubectl CLI must be configured with "admin" privileges on the node before running this script.

Continue [y/N]? y

〜中略〜Install calico-node-aix daemonset [y/N]? yRemoving calico-node-aix daemonset... Error from server (NotFound): daemonsets.extensions "calico-node-aix" not founddoneInstalling calico-node-aix daemonset... daemonset.extensions "calico-node-aix" createddone

ICP v2.1.0.3

Page 21: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• calico-node-aixの設定修正– ICPのWebインターフェースのIPアドレスとクラスター間通信のIPアドレスのセグメントが異なる場合は以下の⼿順で登録IPアドレスを修正

– ここではAIXノードの登録IPアドレスを”192.168.55.63”に修正

21

(参考)AIXノードの登録IPアドレス修正

# kubectl edit ds calico-node-aix -n kube-system# kubectl get ds calico-node-aix -n kube-system -o yaml〜中略〜spec:〜中略〜template:〜中略〜spec:

containers:- name: IP_AUTODETECTION_METHODvalue: can-reach=192.168.55.63

Page 22: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Kubernetesサービスの起動– AIXノードでKubernetesサービスを起動

– AIX起動時にKubernetesサービスが起動するように設定

• AIXノードの追加確認– AIXノードがICPクラスターに追加されたことを確認

22

AIXコンテナーの始動

# startsrc -s criwpard# startsrc -s kubelet

# cp /opt/freeware/share/kubernetes/Skube /etc/rc.d/rc2.d/

# kubectl get nodesNAME STATUS ROLES AGE VERSION192.168.55.56 Ready <none> 1d v1.10.0+icp-ee192.168.55.63 Ready <none> 12h v1.10.0+aix

ICP v2.1.0.3

Page 23: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

AIXコンテナー・イメージの作成

Page 24: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Dockerfile※作成– Dockerfileを作成してスクラッチからコンテナー・イメージを作成– Dockerfileの記述⽅式はLinux Dockerと同様– ここではvmstatを実⾏するだけのDockerfileを作成

• Dockerfileからコンテナー・イメージ作成– AIXノードのローカルにコンテナー・イメージを作成

– コンテナー・イメージの確認

24

AIXコンテナー・イメージの作成

# cat testimage.dockerfileFROM scratchPATH /usr/bin:/etc:/usr/sbin:/sbinENV VMSTAT_INTERVAL 1CMD vmstat ${VMSTAT_INTERVAL}

# mkwpari -f testimage.dockerfile testimage:1.0

# lswpariNAME CREATED SIZEtestimage:1.0 18 mins ago 26.8MB〜以下略 ※ Dockerfile reference参照

Page 25: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Docker証明書設定– Docker証明書をICPマスターノードからコピー

• (オプション)コンテナー・イメージにタグ付け– 作成したコンテナー・イメージにタグ付け

– コンテナー・イメージを確認

25

AIXコンテナー・イメージの作成

# mkdir /etc/criwpard/certs/mycluster.icp:8500# scp [email protected]:/etc/docker/certs.d/mycluster.icp:8500/ca.crt /etc/criwpard/certs/mycluster.icp:8500/

# mkwpari -T testimage:1.0 testimage:latest

# lswpariNAME CREATED SIZEtestimage:latest 22 mins ago 26.8MBtestimage:1.0 34 mins ago 26.8MB〜以下略

Page 26: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• コンテナー・イメージをpush– 作成したコンテナー・イメージをDockerレジストリにpush

– コンテナー・イメージを確認

– ICP上でコンテナー・イメージを確認

26

AIXコンテナー・イメージの作成

# pushwpari -u admin testimage:1.0 mycluster.icp:8500/default/testimage:1.0

# lswpariNAME CREATED SIZEmycluster.icp:8500/default/testimage:1.0 5 days ago 26.8MBtestimage:1.0 5 days ago 26.8MB〜以下略

Page 27: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• YAMLファイル※作成– コンテナー・イメージをデプロイするためにYAMLファイルを作成– YAMLファイルの記述⽅式はLinux Dockerと同様– AIXノードのみにデプロイするためにnodeSelectorを指定

27

AIXコンテナー・イメージのデプロイ

# cat testpod.yamlapiVersion: v1kind: Podmetadata:name: testpod

spec:containers:- name: vmstatimage:

mycluster.icp:8500/default/testimage:1.0env:- name: VMSTAT_INTERVALvalue: "2"

(続き)restartPolicy: Nevertolerations:- key: "ibm.com/aix"operator: "Exists"effect: "NoSchedule"

nodeSelector:beta.kubernetes.io/os: aix

※ Understanding Kubernetes Objects参照

Page 28: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• コンテナー・イメージをデプロイ– Dockerレジストリにpushしたイメージをデプロイ– デプロイ⼿順はLinux Dockerと同様

– デプロイ状況確認

– WPAR稼働状況確認

28

AIXコンテナー・イメージのデプロイ

# kubectl create -f testpod.yaml

# kubectl get podsNAME READY STATUS RESTARTS AGEtestpod 1/1 Running 0 26s

# lswparName State Type Hostname Directory RootVG WPAR-------------------------------------------------------------------------------------------------------------------------------------------------------k8s_vmstat_6 A S testpod /var/lib/criwpard/pods/7ef3555b-15be-11e9-aeb9-42f0cce8470a/containers/k8s_vmstat_6/mountpoint no

Page 29: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

Hits & Tips

Page 30: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• クラスター外部への通信のためのNAT構成– AIXノードはデフォルトではNATが構成されていないためPodからクラスター外部へ通信ができません

– Podが外部サービスを使⽤する必要がある場合はAIXノード上でNATを構成する必要があります– ここではクラスターDNSのIPアドレスを”10.0.55.10”に修正

• IP Filterの導⼊– AIX Web Download PackからIPFilterをダウンロード– ダウンロードファイルを解凍し、installpコマンドで導⼊

– 設定を反映させるためkubeletを再起動

30

クラスター外部への通信(1/3)

# stopsrc -s kubelet# startsrc -s kubelet

Page 31: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• NATの構成– IPFilterのカーネル拡張をロード

– NAT構成ファイルを作成– ここでは/etc/ipnat.confを作成

– NAT構成ファイルを読み込み

31

クラスター外部への通信(2/3)

# /usr/lib/methods/cfg_ipf -l

# vi /etc/ipnat.conf# cat /etc/ipnat.confmap en0 10.1.0.0/16 -> 0.0.0.0/32 portmap tcp/udp 10000:20000map en0 10.1.0.0/16 -> 0.0.0.0/32

# ipnat -f /etc/ipnat.conf

外部通信のインターフェースを指定複数ある場合は複数⾏記載

NAT変換後のポート番号の範囲を指定

Page 32: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• チェックサム・オフロードの無効化– ipnat(IPFilter 4.1.13)によるNATではチェックサム・オフロードが正常に動作しません– 正常に通信するためにはチェックサム・オフロードの無効化が必要です

32

クラスター外部への通信(3/3)

# lsattr -El ent0 -a chksum_offloadchksum_offload no Enable Checksum Offload for IPv4 packets True

Page 33: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• クラスターDNSの設定修正– ICP導⼊時にクラスターIPアドレスのセグメントをカスタマイズしている場合、AIXノードでクラスターDNSのIPアドレスを修正する必要があります

– ここではクラスターDNSのIPアドレスを”10.0.55.10”に修正

– 設定を反映させるためkubeletを再起動

33

クラスターDNSのIPアドレス修正

# vi /opt/freeware/bin/kubeletsrc# cat /opt/freeware/bin/kubeletsrc〜中略〜--cluster-dns=10.0.55.10 ¥

〜以下略

# stopsrc -s kubelet# startsrc -s kubelet

Page 34: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• helmコマンド導⼊– ここではyumを使⽤してhelmコマンドをインストール

• helmコマンド構成– helmコマンド初期化後、helmクライアント構成済みの別ノードから証明書類をコピー– ここではICPマスターノードから証明書類をコピー

• helmコマンド構成確認– Client/Serverともに正常に出⼒されることを確認– helmコマンドを使⽤する際はkubectlの接続情報が必要

34

helmクライアント構成

# yum install helm.ppc

# helm init --client-only --skip-refresh# scp 192.168.55.64:/root/.helm/* ~/.helm/*

# helm version --tlsClient: &version.Version{SemVer:"v2.8+unreleased", GitCommit:"", GitTreeState:""}Server: &version.Version{SemVer:"v2.7.3+icp",GitCommit:"27442e4cfd324d8f82f935fe0b7b492994d4c289", GitTreeState:"dirty"}

Page 35: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

参考資料

Page 36: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation

• Using Kubernetes with AIX container technology - User Guide– ICP v3.1.2 https://ibm.biz/BdzYzp– ICP v2.1.0.3 https://t.co/ODCI2knVbf

• ICP_v3.1.0_on Power_構成ガイド– https://ibm.biz/BdYVky

• Kubernetes Documentation– https://kubernetes.io/docs/home/

• Docker Documentation– https://docs.docker.com/

36

参考資料

Page 37: で管理できるAIXコンテナー...© 2019 IBM Corporation •ICPの前提バージョン – v3.1.2 or v2.1.0.3 •本資料には、バージョン別のインストール 法を記載しています

© 2019 IBM Corporation© 2019 IBM Corporation