LoginSignup
5
1

More than 1 year has passed since last update.

SAP Kymaを使ってみる

Last updated at Posted at 2021-12-12

この記事は SAP Advent Calendar 2021 の13日分の記事として執筆しています。
Advent Calendarは初めての執筆です。
今回はKymaを使ってみようと思います。

Kymaとは

SAP BTPのランタイム環境はCloud Foundry、Kyma、ABAPの3つがあります。
KymaはSAPのKubernetesをベースとした開発プラットフォームです。
サーバレス、マイクロサービスを使用したアプリケーションの開発を容易にすることが出来ます。

Kubernetes

前提条件

・SAP BTPのトライアルアカウントを取得済
・PCのOSはWindow10を使用

今回の流れ

・SAP BTPのKyma Runtime環境を有効化
・ローカルにコマンドライン環境を作成
・ネームスペースを作成
・Functionを作成

本当はローカルのアプリをKymaに上げるところまでやりたかったですが長くなるのでFunctionを作って終わりとしています
kubectlのインストールを手順にはさみますが、今回やりたいことをやるだけなら画面から操作するだけで可能です。(必要に応じて読み飛ばしてください)
ローカルで作ったアプリなどをkymaに上げるとき、kubectlがあると便利だと思うのでまとめて準備してしまいました。

SAP BTPに Kyma Runtimeを有効化する

こちらの記事に従ってBTPにKyma Runtimeを有効化してください
もしロールの割当後、エラーになる場合はキャッシュのクリア等行ってください

ローカルにコマンドライン環境を作成

こちらからcluster をインストール

cmdからKubernetesのコマンドラインツールをインストール

curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe"

ちゃんとインストールできたか確認

kubectl version --client
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.0", GitCommit:"ab69524f795c42094a6630298ff53f3c3ebab7f4", GitTreeState:"clean", BuildDate:"2021-12-07T18:16:20Z", GoVersion:"go1.17.3", Compiler:"gc", Platform:"windows/amd64"}

Kymaの右上のGet Kubeconfigからconfigファイルをダウンロード

image.png

Kubeconfigを設定して設定が反映されているか確認
"configファイルのファイルパス"はローカルにダウンロードしたkubeconfig.ymlのパスを設定

$ENV:KUBECONFIG="configファイルのファイルパス"
kubectl config get-contexts
CURRENT   NAME                                            CLUSTER                                         AUTHINFO   NAMESPACE
*         fad45d7.kyma.shoot.live.k8s-hana.ondemand.com   fad45d7.kyma.shoot.live.k8s-hana.ondemand.com   OIDCUser

ネームスペースを作成

devって名前のnamespace を作成

kubectl create namespace dev
namespace/dev created

devが作成されていることを確認

image.png
画面右上のAdd new namespaceからも同じように追加できます

Functionを作成

ネームスペースのdevを選択して左のWorkloadsからFunctionを開く
Create Functionを押下
image.png

Nameを入力してCreate
image.png

Edit Environment Variablesを押下

image.png

Add Environment Variablesから環境変数を追加
今回はMESSAGEを追加
!が多くなっています
image.png

Souceを以下の通り変更してSaveを押下

module.exports = { 
  main: function (event, context) {
    return "Hello " + process.env["MESSAGE"];
  }
}

image.png

ConfigurationタブからExpose Functionを押してAPI Rulesを追加
image.png

Name、Hostname、Access strategiesを設定
image.png

HostしたのURLリンクをクリックするとプラウザにHello World!!!!が表示されると思います
image.png

参考

5
1
0

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
5
1