この例では、オーケストレーションテンプレートを使用して、Deployment と Service を含む Web アプリケーションを作成し、それを Windows ノードで実行するようにスケジュールする方法を示します。
ステップ 1: サンプルアプリケーションのデプロイ
次の手順に従って、サンプルの ASP.NET アプリケーションをクラスター内の Windows ノードにデプロイします。 Service は、アプリケーションのポート 80 を公開する Server Load Balancer インスタンスを自動的に作成します。これにより、Web アプリケーションがインターネットからアクセスできるようになります。
ACK コンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、管理するクラスターを見つけてその名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[YAML から作成] をクリックし、[サンプルテンプレート] を [カスタム] に設定します。 次に、YAML コンテンツを入力して [送信] をクリックします。
サンプル YAML の表示
次の YAML コードは、ASP.NET Web アプリケーションを定義します。 アプリケーションは Windows ノードで実行されるようにスケジュールされ、LoadBalancer タイプの Service によって公開されます。
apiVersion: v1
kind: Service
metadata:
labels:
app: web-windows
name: web-windows
spec:
type: LoadBalancer
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: web-windows
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: web-windows
name: web-windows
spec:
selector:
matchLabels:
app: web-windows
template:
metadata:
labels:
app: web-windows
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 30
tolerations:
- key: os
value: windows
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- windows
containers:
# イメージアドレスの <cn-hangzhou> をクラスターの実際のリージョンに置き換えます。
- image: registry-cn-hangzhou-vpc.ack.aliyuncs.com/acs/dotnet-samples:aspnetapp
name: windows
ports:
- containerPort: 8080
protocol: TCP
送信後、[デプロイメント] ページに戻り、新しい Web アプリケーションがリストに表示されます。
ステップ 2: アプリケーションへのアクセス
クラスター ページで、目的のクラスターを見つけてその名前をクリックします。 左側のペインで、 を選択します。
対象の Service (web-windows) の名前をクリックします。 次に、[基本情報] セクションで [外部 IP] をクリックして Web アプリケーションにアクセスします。
