ホームページ  >  記事  >  Java  >  Kubernetes を使用して Springboot または Nginx をデプロイする方法

Kubernetes を使用して Springboot または Nginx をデプロイする方法

PHPz
PHPz転載
2023-05-12 09:25:131083ブラウズ

1 はじめに

これは非常に単純で、単なる yaml ファイルです。

2 springboot のワンクリック デプロイメント

2.1 yaml ファイルの準備

イメージ ファイルの準備ができたら、それを kubernetes# にデプロイします。 ## とても簡単です。yaml 形式のファイルが必要なだけです。このファイルには、deploymentserviceingress など。定義は次のとおりです:

apiversion: apps/v1
kind: deployment
metadata:
 name: pkslow-springboot-deployment
spec:
 selector:
 matchlabels:
  app: springboot
 replicas: 2
 template:
 metadata:
  labels:
  app: springboot
 spec:
  containers:
  - name: springboot
   image: pkslow/springboot-mongo:0.0.6
   ports:
   - containerport: 8080

---
apiversion: v1
kind: service
metadata:
 labels:
 app: springboot
 name: pkslow-springboot-service
spec:
 ports:
 - port: 8080
  name: springboot-service
  protocol: tcp
  targetport: 8080
  nodeport: 30080
 selector:
 app: springboot
 type: nodeport

kind: タイプ (deploymentservicepod、## を含む) #ingress など、非常に豊富です;

metadata

: 名前、ラベルなどのコンポーネント情報を定義するために使用されます; #labels

: ラベル関数、関連付けの選択に非常に役立ちます。ただし、

label は一意性を提供しないため、組み合わせを使用して選択できます。nodeport

:外部に公開する必要があるサービス。

nodeportsloadbalanceringress の 3 つの方法があります。ここでは nodeports が使用されます。デフォルトのポート範囲は [3000-32767] です。他の範囲が必要な場合は、関連するパラメータを変更する必要があることに注意してください。 2.2 kubectl コマンドによるデプロイメント

yaml

ファイルの準備ができたら、次のコマンドを使用してデプロイできます:

$ kubectl create -f pksow-springboot.yaml 
deployment.apps/pkslow-springboot-deployment created
service/pkslow-springboot-service created
コンソールの確認ログには、deployment

service が正常に作成されたことが示されています。 ダッシュボードを次のように表示します:

Kubernetes を使用して Springboot または Nginx をデプロイする方法web

サービスにアクセスします:

# # コマンドラインで確認してください:

$ kubectl get deployment
name       ready up-to-date available age
pkslow-springboot-deployment 2/2  2   2   8m2s

$ kubectl get service
name      type  cluster-ip  external-ip port(s)   age
kubernetes     clusterip 10.96.0.1  <none>  443/tcp   10m
pkslow-springboot-service nodeport 10.102.218.119 <none>  8080:30080/tcp 8m7s

$ kubectl get pod
name           ready status restarts age
pkslow-springboot-deployment-68dffc6795-874tp 1/1  running 0   8m15s
pkslow-springboot-deployment-68dffc6795-89xww 1/1  running 0   8m15s
Kubernetes を使用して Springboot または Nginx をデプロイする方法 この時点で、

springboot

kubernetes

に正常に公開されました。 2.3 ポッドを強制終了してみますか?

kubernetes

最小の管理要素はコンテナではなく、

pod

です。

podKubernetes を使用して Springboot または Nginx をデプロイする方法 を削除して、何が起こるか見てみましょう。

$ kubectl delete pod pkslow-springboot-deployment-68dffc6795-89xww
pod "pkslow-springboot-deployment-68dffc6795-89xww" deleted

$ kubectl get pod
name           ready status restarts age
pkslow-springboot-deployment-68dffc6795-874tp 1/1  running 0   13m
pkslow-springboot-deployment-68dffc6795-gpw67 1/1  running 0   46s

別の pod を削除すると、新しい

pod

が自動的に生成され、サービス全体の高可用性が向上することがわかります。 2.4 コンテナを強制終了してみますか? コンテナ インスタンスを強制終了すると何が起こるかを見てみましょう。

$ docker ps
$ docker rm -f 57869688a226
57869688a226

$ docker ps

実験後、コンテナを強制終了すると、コンテナ インスタンスが自動的に再生成されます。

pod

は変更されず、再生成されません。

2.5 pod の急速な拡張ユーザーのリクエストが急増し、サービスが対応できなくなった場合、

pod

の数を増やす必要があります。

yaml

構成ファイルの replicas を変更し、replicas: 4 に更新するだけです。次に、次のコマンドを実行します: <pre class="brush:bash;">$ kubectl apply -f pksow-springboot.yaml</pre>View dashboard. 元の 2 つの

pod

に基づいて、さらに 2 つが追加されています。

3 nginx のワンクリック デプロイメントKubernetes を使用して Springboot または Nginx をデプロイする方法

springboot イメージがない場合は、公式

nginx

ミラー、yaml ファイルを使用できます。 <pre class="brush:bash;">apiversion: apps/v1 kind: deployment metadata: name: nginx-deployment spec: selector: matchlabels: app: nginx replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.19.0 ports: - containerport: 80 --- apiversion: v1 kind: service metadata: labels: app: nginx name: nginx-service spec: ports: - port: 80 name: nginx-service1 protocol: tcp targetport: 80 nodeport: 30000 - port: 81 name: nginx-service2 protocol: tcp targetport: 80 nodeport: 30001 selector: app: nginx type: nodeport</pre>デプロイメント コマンドを実行します: <pre class="brush:bash;">$ kubectl apply -f nginx-deployment-scale.yaml deployment.apps/nginx-deployment created service/nginx-service created</pre>View

dashboard

次のように:

サービスにアクセス: または 。 2つ設置してあるので。

Kubernetes を使用して Springboot または Nginx をデプロイする方法

以上がKubernetes を使用して Springboot または Nginx をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。