· 

OCI上のKubernetes(OKE) のカスタム作成方法

こんにちは!テリロジーのY.Tです。

今回はOCIのContainer Engine for Kubernetes(OKE)をカスタム作成し、CLIからkubectlコマンドで操作できるようにしていきます。

※OKEのクイック作成について、また、Kubernetesに関してのご紹介は「OCI上のKubernetes(OKE) を使ってみる」

記載がございます。

 

目次:

1.OKEのカスタム作成

2.OKEクラスタへの接続

 

1.OKEのカスタム作成

OCI Webコンソールの「開発者サービス」>「Kubernatesクラスタ(OKE)」へ推移し、「カスタム作成」を選択し、「ワークフローの起動」をクリックします。

 

クラスター名、クラスターを作成するコンパートメント、Kubernetesのバージョンを選択します。

拡張オプションでは、イメージ検証や暗号化、ポッド(Pod)のセキュリティポリシーを設定することができますが、今回は特に何も設定せず、次に進みます。

 

次に利用するVCNを選択し、LBのサブネットとAPIのエンドポイントサブネットを選択し、必要に応じて、ネットワークセキュリティグループも指定します。

また、拡張オプションではKubernetesサービスとPodのCIDRブロックを、既存のVCNと重複しない範囲で指定することができます。

 

最後に、ノード(インスタンス)の台数やシェイプなどを指定し、作成します。

現在はOracle LinuxのOSイメージのみサポートされています。

Tips!

Kubernetes環境に接続するためのAPIエンドポイントおよび、ワーカー・ノードについては、セキュリティリストもしくはセキュリティグループにて特定の通信を許可する必要があります。

詳しくは、OCIドキュメント セキュリティ・リストの構成をご参照ください。

2.OKEクラスタへの接続

作成したOKEクラスタにCLI経由で接続します。

接続方法は以下の2種類です。

・OCI Webコンソール上から利用可能なCloud Shellを利用する方法

・ローカル環境からアクセスする方法

 

どちらの方法もOCI Webコンソールの「開発者サービス」>「Kubernetesクラスタ(OKE)」へ推移し、

クラスタを選択後、「クラスタへの接続」をクリックすると、kubeconfigの作成手順が紹介されています。

 

ここではローカル環境からアクセスする手順を確認していきたいと思います。

 

 

2-1.OCI CLIのインストール

OCI環境と接続可能な任意の端末にOCI CLIをインストールします。

インストール方法は「OCIにCLI経由でアクセスする方法」をご参考にしてください。

 

 

2-2.kubeconfigファイルの作成

はじめに、OCI上に構築したKubernetesの環境を操作するためにはkubectlコマンドを利用します。

kubectlコマンド実行時に接続するKubernetesの環境を指定する設定ファイルが、kubeconfigです。

以下のコマンドで端末にkubeconfigを格納するディレクトリを作成します。

 

$ mkdir -p $HOME/.kube

 

次に、以下のコマンドで/.kubeディレクトリ内に「config」という名前でkubeconfigを作成します。

 

$ oci ce cluster create-kubeconfig --cluster-id <クラスタID> --file $HOME/.kube/config --region <リージョン名>\

   --token-version 2.0.0\

   --kube-endpoint <LEGACY_KUBERNETES, PRIVATE_ENDPOINT, PUBLIC_ENDPOINTのいずれかを指定>

Tips!

 ociコマンドリファレンス内で、OKEの操作に利用可能なコマンドが確認できます。

最後に、以下のコマンドでKUBECONFIG環境変数を先ほど作成したkubeconfigに設定します。

 

$ export KUBECONFIG=$HOME/.kube/config

 

以上でkubeconfigの作成は完了です。次に、kubectlコマンドをインストールしていきます。

 

2-3.kubectlコマンドのインストール

Linux端末へインストールする場合は、以下のコマンドでインストールすることが出来ます。

Kubernates公式「kubectlのインストールおよびセットアップ」参照

 

1.インストール

$ curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"

 

2.実行権限の付与

$ chmod +x ./kubectl

 

3.バイナリへ移動

$ sudo mv ./kubectl /usr/local/bin/kubectl

 

4.kubectlコマンドバージョン確認

$ kubectl version --client

 

2-4.OKEクラスタへの接続確認

以下のコマンドでOKE環境のノード(インスタンス)の情報を取得できることを確認します。

 

$ kubectl get nodes

まとめ

今回はOKEクラスタの作成と、作成したOKEクラスタにCLIから接続する方法をご紹介していきました。

次回以降、OCIのコンテナレジストリサービス(OCIR)からイメージをpullし、今回構築したKubernetes環境に

ポッドを作成する方法をご紹介してきたいと思います。

 

最後までお読みいただき、ありがとうございました。🙇