(10)サーバK8Sクラスタ導入 SpringBootプロジェクト実戦

1. Springboot プロジェクトを準備する

https://start.spring.io/ のWeb サイトで、ここでは k8s 学習としてプロジェクトを準備できますので、springboot プロジェクトに簡単なアクセス インターフェイスを準備します。
ここに画像の説明を挿入

2. サーバー環境の準備

JDKをインストールする

1. システム パッケージを更新します。

sudo yum update

2. OpenJDK 11 をインストールします。

sudo yum install java-11-openjdk-devel

3. Java のインストールを確認します。

java -version

ここに画像の説明を挿入
4. 環境変数を設定する

vim /etc/profile
#JAVA_HOME 的内容根据具体安装jdk的路径替换
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

5. 環境変数を有効にする

source /etc/profile

Maven をインストールする

1. バージョン 3.5.4 は、https://dlcdn.apache.org/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip Web サイト (またはhttps:// maven .apache.org/download.cgi から必要なバージョンをダウンロードし、サーバー/usr/local/software/ディレクトリにアップロードします
。 2. unzip コマンドをインストールします。

yum install unzip -y

3. 解凍します。

unzip apache-maven-3.5.4-bin.zip

名前を変更する

mv apache-maven-3.5.4 maven3.5

4. 環境変数を設定する

vim /etc/profile
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
MAVEN_HOME=/usr/local/software/maven3.5
PATH=$PATH:$MAVEN_HOME/bin
export PATH JAVA_HOME CLASSPATH MAVEN_HOME

5. 環境変数を有効にする

source /etc/profile

3. springboot プロジェクトが docker をビルドしてパッケージ化する

1.パッケージファイル名をdemoに設定し、
springbootプロジェクトのpomファイルにfinalNameを設定します

ここに画像の説明を挿入
2. Dockerfile ファイルを追加します。ファイルは、
ここに画像の説明を挿入
Dockerfile ファイルの下のプロジェクトとディレクトリに配置されます。

FROM adoptopenjdk/openjdk11:jre11u-nightly

ADD target/demo.jar demo.jar

ENTRYPOINT ["java","-jar","/demo.jar"]

3. springboot プロジェクトをサーバーにアップロードし、パッケージ化するためのルート ディレクトリを入力します。

注文の実行

mvn clean install

イメージを構築します (最後のドットを無視しないでください)

docker build -t demo:1.0 .

ミラーリストを見る

docker images

起動

docker run -d -it -p 8080:8080 --name=k8sdemo demo:1.0

4. イメージプッシュ (Alibaba Cloud の例)

Aliyun アカウントのアクセスアドレス
https://cr.console.aliyun.com/
ウェアハウスの作成についてはここでは説明しませんが、Baidu (個人版は課金されません)

プッシュ専用ミラー倉庫

#仓库地址根据自己的地址替换
docker login --username=gq570566 registry.cn-shenzhen.aliyuncs.com
#打tag
#docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]
docker tag ba0652a92214 registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0

#推送
#docker push registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0
#拉取
docker pull registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]

5.K8sデプロイメントSpringBootプロジェクト

シークレットを作成する

#kubectl create secret docker-registry demo-docker-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=用户名 --docker-password=登录密码

kubectl create secret docker-registry demo-docker-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=gq570566--docker-password=*****

k8sdemo-deploymentのyamlファイルを作成する

yaml ファイルをすばやく生成する方法

kubectl create deployment k8sdemo --image=registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0 --dry-run=client -o yaml > demo-k8s.yaml

コピー数を 2 に変更し、シークレットをマウントします

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: k8sdemo
  name: k8sdemo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: k8sdemo
  strategy: {
    
    }
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: k8sdemo
    spec:
      imagePullSecrets:
        - name: demo-docker-secret
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0
        name: demo-k8s
        resources: {
    
    }
status: {
    
    }

コントローラーの作成

kubectl apply -f demo-k8s.yaml

サービスの作成、nodePort タイプ

kubectl expose deploy k8sdemo --port=8080 --target-port=8080 --type=NodePort

テストアクセス

ビューポート

kubectl get svc

ここに画像の説明を挿入
アクセスノードのIP+ポート+インターフェースアドレス
ここに画像の説明を挿入

成功!

おすすめ

転載: blog.csdn.net/csdn570566705/article/details/131040836