尝试使用Kubernetes的自我恢复功能【超入门】

首先

Kubernetesは近年のマイクロサービス化の流れに伴い使用されている技術です。
42Tokyoの課題でKubernetesを学ぶ機会がありました。
当時の自分にはハードルが高かったですが、触れるには良い機会だったと思います。

环境

XUbuntu 18.04.5
minikube v1.14.2
kubectl v1.18.0
docker v19.03.6

Kubernetes(K8s)是什么?

Kubernetesとは、コンテナオーケストレーションツールの一つです。
コンテナオーケストレーションとは、複数あるDockerコンテナの管理をする技術です。
図のPodはデプロイできる最小単位のリソースで、1つ以上のコンテナをまとめたものです。
Nodeは1つのVMまたは物理的なマシンを表します。
Clusterはコンテナ化されたアプリケーションを実行するNodeの集合体を表します。

Kubernetes可以实现的功能是什么?

    • 複数のDockerホストの管理

 

    • コンテナのスケジューリング

 

    • ローリングアップデート

 

    • スケーリング / オートスケーリング

 

    • コンテナの死活監視

 

    • 障害時のセルフヒーリング(自己回復)

 

    • サービスディスカバリ

 

    • ロードバランシング

 

    • データの管理

 

    • ワークロードの管理

 

    • ログの管理

 

    • Infrastructure as Code

 

    その他エコシステムとの連携や拡張

自己回復機能を試す

做好准备

ローカル環境でKubernetesクラスタを立ち上げるためにMinikubeを使いました。

宣言书

Pod的配置应在清单文件中进行描述。
通过设置副本数,即使Pod死掉,也会重新创建Pod以达到指定的数量。

apiVersion: apps/v1
kind: Deployment
metadata:
    name: nginx-deployment
    labels:
        app: nginx
spec:
    replicas: 3                     #レプリカ数。この数だけPodを立てる。
    selector:
        matchLabels:
            app: nginx              #このラベルに一致するPodを立てる
    template:
        metadata:
            name: nginx-pod         #Pod名
            labels:
                app: nginx          #ラベル
        spec:
          containers:
          - name: nginx             #コンテナ名
            image: nginx:latest     #Docker image

启动Pod

kubectl apply -f nginx.yaml

删除Pod

使用命令删除其中一个正在运行的 Pod,并尝试自动恢复功能。

kubectl delete pod nginx-deployment-85ddd67557-4pgkd

把下列内容用中文进行释义,只提供一种选项:

おまけ -> 额外赠品

因为Youtube上有一个演示新功能的视频,所以我要分享一下。
链接:https://youtu.be/ObA1OEVdrQY

请看参考材料。

    • Introduction to Kubernetes

 

    • Kubernetesとは何かを図でわかりやすく解説!Pod、Namespace

 

    今さら人に聞けない Kubernetes とは?
广告
将在 10 秒后关闭
bannerAds