機械翻訳について

 ポッドでのアプリケーションの実行

kubectlコマンドを使用して、KubernetesクラスタでNGINXコンテナを実行するポッドを作成します。

  1. ポッドを作成します。

    1つの実行中のコンテナを使用してポッドを作成するには、kubectl createコマンドを使用します。 たとえば、Oracle Container Registryからnginxコンテナ・イメージを使用してポッドを作成するには:

    kubectl create deployment --image container-registry.oracle.com/olcne/nginx:1.17.7 hello-world

    この例では、デプロイメントの名前としてhello-worldを使用します。 ポッドには、プレフィクスとしてデプロイメント名を使用します。

    ヒント:

    デプロイメント、ポッドおよびサービス名は、DNS-1123ラベルと一致する要件に準拠しています。 これらは、小文字の英数字または-で構成する必要があり、英数字で開始および終了する必要があります。 名前の検証に使用される正規表現は、[a-z0-9]([-a-z0-9]*[a-z0-9])?です。 検証しないデプロイメントの名前を使用すると、エラーが返されます。

    Kubernetes内で新しいアプリケーションを実行する場合は、さらに多くのオプション・パラメータを使用できます。 たとえば、起動するレプリカ・ポッドの数を実行時に指定することも、ポッド・コンポーネントを識別しやすくするためにデプロイメントにラベルを適用することもできます。 使用可能なオプションの完全なリストを表示するには、kubectl run --helpコマンドを使用します。

  2. ポッドをリストします。

    新しいアプリケーション・デプロイメントで1つ以上のポッドが作成されたことを確認するには、kubectl get podsコマンドを使用します:

    kubectl get pods

    出力は次のようになります:

    NAME                           READY   STATUS    RESTARTS   AGE
    hello-world-5db76fbd7d-99s8h   1/1     Running   0          1m
  3. ポッドの詳細を表示します。

    kubectl describeを使用して、ポッドのより詳細なビューを表示します。これには、どのコンテナが実行されているか、およびポッドをホストしているノードを含め、どのコンテナがベースになっているかが含まれます:

    kubectl describe pods

    出力は次のようになります:

    Name:             hello-world-5db76fbd7d-99s8h
    Namespace:        default
    Priority:         0
    Service Account:  default
    Node:             <nodename>/<IP_address>
    Start Time:       <date> 11:08:37 +0000
    Labels:           app=hello-world
                      pod-template-hash=5db76fbd7d
    Annotations:      <none>
    Status:           Running
    IP:               10.244.1.26
    IPs:
      IP:           10.244.1.26
    Controlled By:  ReplicaSet/hello-world-5db76fbd7d
    Containers:
      nginx:
        Container ID:   cri-o://6f4ce80153cefbaea327dd011b035cfb2112eb31085ca358b9c894fa775...
        Image:          container-registry.oracle.com/olcne/nginx:1.17.7
        Image ID:       container-registry.oracle.com/olcne/nginx@sha256:78ce89068e7feb15ec...
        Port:           <none>
        Host Port:      <none>
        State:          Running
          Started:      <date> 11:08:43 +0000
        Ready:          True
        Restart Count:  0
        Environment:    <none>
        Mounts:
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-d9q4t (ro)
    Conditions:
      Type                        Status
      PodReadyToStartContainers   True 
      Initialized                 True 
      Ready                       True 
      ContainersReady             True 
      PodScheduled                True 
    Volumes:
      kube-api-access-d9q4t:
        Type:                    Projected (a volume that contains injected data 
                                                                from multiple sources)
        TokenExpirationSeconds:  3607
        ConfigMapName:           kube-root-ca.crt
        ConfigMapOptional:       <nil>
        DownwardAPI:             true
    QoS Class:                   BestEffort
    Node-Selectors:              <none>
    Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
    Events:
    ...