Dockerの基本-本番環境でのアプリケーションの実行-オーケストレーションの概要

コンテナ化されたプロセスの移植性と再現性は、コンテナ化されたアプリケーションをクラウドとデータセンター間で移動および拡張する機会があることを意味します。コンテナーは、これらのアプリケーションがどこでも同じように実行されることを効果的に保証し、これらすべての環境を迅速かつ簡単に利用できるようにします。さらに、アプリケーションの規模が拡大するにつれて、これらのアプリケーションのメンテナンスを自動化し、障害が発生したコンテナーを自動的に交換し、これらのコンテナーのライフサイクル中に更新と構成の起動を管理するためのツールが必要になります。

コンテナ化されたアプリケーションを管理、スケーリング、維持するためのツールはオーケストレーターと呼ばれ、その最も一般的な例はKubernetesDockerSwarmです。これら2つのオーケストレーターの開発環境デプロイメントはDockerDesktopによって提供されます。このガイドでは、これを使用して、最初のオーケストレーションコンテナー化アプリケーションを作成します。

高度なモジュールでは、次の方法を学習します。

  1. 開発マシンでKubernetes環境をセットアップして使用する
  2. 開発マシンでSwarm環境をセットアップして使用します

Kubernetesを有効にする

Docker Desktopは、Kubernetesをすばやく簡単にセットアップします。オペレーティングシステムのセットアップと検証の手順に従います。

ウィンドウズ

  1. Docker Desktopをインストールすると、システムトレイにDockerアイコンが表示されます。それを右クリックして、[設定] > [ Kubernetes ]に移動します。

  2. [ Kubernetesを有効にする]チェックボックスをオンにして、[適用して再起動]をクリックしますDockerDesktopは自動的にKubernetesをセットアップします。あなたが表示されたら、次の緑色の光を「Kubernetesが実行されている設定メニューでは、それはKubernetesが正常に有効になっていることを意味します。
    docker-enable-kubernetes

    翻訳者注:

    Kubernetesアイテムが表示されない場合は、システムトレイアイコンを右クリックし、[Linuxコンテナに切り替え...]を選択してから、[設定] > [ Kubernetes ]に移動して、もう一度表示してください。

  3. Kubernetesがすでに稼働していることを確認するにpod.yamlは、次の内容を含むテキストファイルと呼ばれるファイルを作成します

    apiVersion: v1
    kind: Pod
    metadata:
      name: demo
    spec:
      containers:
      - name: testpod
        image: alpine:3.5
        command: ["ping", "8.8.8.8"]
    

    これは、単一のコンテナーを備えたポッドを表し、単純なpingを「8.8.8.8」に分離します。

  4. PowerShellでpod.yaml、ディレクトリを作成する場所に移動し、ポッドを作成します。

    kubectl apply -f pod.yaml
    
  5. ポッドが稼働しているかどうかを確認します。

    kubectl get pods
    

    次のような出力が表示されます。

    NAME      READY     STATUS    RESTARTS   AGE
    demo      1/1       Running   0          4s
    
  6. 期待するpingプロセスのログを取得するかどうかを確認します。

    kubectl logs demo
    

    通常のpingプロセスの出力が表示されます。

    PING 8.8.8.8 (8.8.8.8): 56 data bytes
    64 bytes from 8.8.8.8: seq=0 ttl=37 time=21.393 ms
    64 bytes from 8.8.8.8: seq=1 ttl=37 time=15.320 ms
    64 bytes from 8.8.8.8: seq=2 ttl=37 time=11.111 ms
    ...
    
  7. 最後に、テストポッドを取り外します。

    kubectl delete -f pod.yaml
    

マック

Windowsと同様に、詳細についてはhttps://docs.docker.com/get-started/orchestration/#kubeosxを参照してください。

DockerSwarmを有効にする

Docker Desktopは、主にDockerエンジンで実行されます。このエンジンには、Swarmの実行に必要なすべてのものが組み込まれています。オペレーティングシステムのセットアップと検証の手順に従います。

ウィンドウズ

  1. PowerShellを開き、DockerSwarmモードを初期化します。

    docker swarm init
    

    すべてがうまくいくと、次のようなメッセージが表示されます。

    Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager.
    
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377
    
    To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
    
  2. 単純なDockerサービスを実行し、アルピンベースのファイルシステムを使用して、pingを8.8.8.8に分離します。

    docker service create --name demo alpine:3.5 ping 8.8.8.8
    
  3. サービスが実行中のコンテナを作成するかどうかを確認します。

    docker service ps demo
    

    次のような出力が表示されます。

    ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
    463j2s3y4b5o        demo.1              alpine:3.5          docker-desktop      Running             Running 8 seconds ago
    
  4. 期待するpingプロセスのログを取得するかどうかを確認します。

    docker service logs demo
    

    通常のpingプロセスの出力が表示されます。

    demo.1.463j2s3y4b5o@docker-desktop    | PING 8.8.8.8 (8.8.8.8): 56 data bytes
    demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 ms
    demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 ms
    demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms
    ...
    
  5. 最後に、テストサービスを削除します。

    docker service rm demo
    

マック

Windowsと同様に、詳細についてはhttps://docs.docker.com/get-started/orchestration/#swarmosxを参照してください。

結論として

この時点で、KubernetesとSwarmで単純なコンテナ化されたワークロードを実行できることを確認しました。次のステップは、Kubernetes yamlを記述して、Kubernetesでこれらのコンテナーを実行および管理する方法を説明することです。

Kubernetesへのデプロイについて>>

Swarmでコンテナを実行および管理するのに役立つスタックファイル(スタックファイル)の記述方法については、「Swarmのデプロイ先」を参照してください

CLIリファレンス

この記事で使用されているすべてのCLIコマンドの詳細なドキュメントは、次の場所にあります。


著者:Dockerの公式ウェブサイト
翻訳者:Technical Zemin
発行元:Technical Verses
リンク:英語のテキスト

おすすめ

転載: blog.csdn.net/weixin_47498376/article/details/107894402