クラスター コア Os と Kubernetes を展開します。

提供: Japanese Ikoula Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ja:クラスター コア Os と Kubernetes を展開します。 he:לפרוס את אשכול Kubernetes עם CoreOS ro:Implementaţi un cluster Kubernetes cu CoreOS pl:Wdróż klaster Kubernetes z CoreOS de:Bereitstellen eines Clusters Kubernetes mit CoreOS nl:Implementeer een cluster Kubernetes met CoreOS it:Distribuire un cluster Kubernetes con CoreOS pt:Implantar um cluster Kubernetes com CoreOS es:Implementar un clúster Kubernetes con CoreOS en:Deploy a cluster Kubernetes with CoreOS ru:Развертывание кластера Kubernetes с CoreOS ar:نشر مجموعة كوبيرنيتيس مع CoreOS zh:部署群集与 CoreOS Kubernetes fr:Deployer un cluster Kubernetes avec CoreOS

这篇文章是从由软件进行自动翻译。你可以看到这篇文章的源代码







この手順は、迅速に展開する方法と単にクラスターについて説明します |! _。 持つ複数のノード Kubernetes コア Os のインスタンス。クライアント モードで動作する Kubernetes 3 サーバー、クライアント Kubernetes の名前が - Kubernetes 手先 "サーバー " Kubernetes マスター ".Kubernetes マスター インスタンスは、インスタンス Kubernetes 手先を一元的に調整がインスタンスです。例では、コア Os インスタンスはマスター Kubernetes の役割を果たすだろうし、他の 2 つのインスタンスがノード Kubernetes の役割を担う "ミニオン (Kubernetes は複数のホストのクラスターの港湾労働者とアプリケーションのコンテナーを管理するため Google によって作成された開いたオーケストレーション ソースのシステム ).


私たちの例では VM コア Os (3 .展開、保守、およびアプリケーションのスケーラビリティをことができます。詳細について行くことができます )仮定するあなた github Kubernetes


コア Os インスタンスが既に展開されているク 3 彼らは相互に通信することができます 'ログインしている ssh ユーザー コア。 これはすでに行われていない場合コア Os インスタンスを更新して、彼らは、コア Os のバージョン、少なくとも


DCE は、 653.0.0 私たちの FAQ を参照してください 2 (.私たちのケースで私たちの体は、安定したコア Os コア Os を手動で更新します。)私たちは、私たちのすべてのコア Os インスタンスが適切な操作コンテキストのクラスターの別のコンピューターの ID を持つも確保する必要があります。単にファイルを削除する 681.2.0.


$ cat /etc/lsb-release
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=681.2.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 681.2.0"


コア Os インスタンスの各し、再起動 /etc/machine-id いずれか Kubernetes マスター インスタンス構成 :


$ sudo rm -f /etc/machine-id && sudo reboot


上書きファイル クラウド - 次のコマンドを実行することによって私たち Kubernetes マスター構成に config.yml を既定 :

マスターとして、以下も同じ順序で動作するインスタンスだけに (構成が効果的なので、インスタンスを再起動 ) :


core@Kube-MASTER ~ $ sudo wget -O /usr/share/oem/cloud-config.yml http://mirror02.ikoula.com/priv/coreos/kubernetes-master.yaml
--2015-06-22 15:55:48--  http://mirror02.ikoula.com/priv/coreos/kubernetes-master.yaml
Resolving mirror02.ikoula.com... 80.93.X.X, 2a00:c70:1:80:93:81:178:1
Connecting to mirror02.ikoula.com|80.93.X.X|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8913 (8.7K) [text/plain]
Saving to: '/usr/share/oem/cloud-config.yml'

<!--T:11-->
/usr/share/oem/cloud-config.yml               100%[===================================================================================================>]   8.70K  --.-KB/s   in 0s

<!--T:12-->
2015-06-22 15:55:48 (148 MB/s) - '/usr/share/oem/cloud-config.yml' saved [8913/8913]


core@Kube-MASTER ~ $ export `cat /etc/environment`


core@Kube-MASTER ~ $ sudo sed -i 's#PRIVATE_IP#'$COREOS_PRIVATE_IPV4'#g' /usr/share/oem/cloud-config.yml


私たちは私たちの体が正しく初期化されているチェック :


core@Kube-MASTER ~ $ sudo reboot


サービスを表示することも :


core@Kube-MASTER ~ $ sudo fleetctl list-machines
MACHINE         IP              METADATA
aee19a88...     10.1.1.138      role=master


core@Kube-MASTER ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default


リスン ポート /サーバー コンポーネントがあります (マスター Kubernetes /インスタンス Kubernetes 手先の構成 ):


core@Kube-MASTER ~ $ sudo netstat -taupen | grep LISTEN
tcp        0      0 10.1.1.138:7001         0.0.0.0:*               LISTEN      232        16319      634/etcd2
tcp        0      0 10.1.1.138:7080         0.0.0.0:*               LISTEN      0          19392      1047/kube-apiserver
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      0          19142      973/python
tcp        0      0 127.0.0.1:10251         0.0.0.0:*               LISTEN      0          20047      1075/kube-scheduler
tcp        0      0 10.1.1.138:6443         0.0.0.0:*               LISTEN      0          19406      1047/kube-apiserver
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      245        14794      502/systemd-resolve
tcp        0      0 127.0.0.1:10252         0.0.0.0:*               LISTEN      0          19653      1058/kube-controlle
tcp        0      0 10.1.1.138:2380         0.0.0.0:*               LISTEN      232        16313      634/etcd2
tcp6       0      0 :::8080                 :::*                    LISTEN      0          19390      1047/kube-apiserver
tcp6       0      0 :::22                   :::*                    LISTEN      0          13647      1/systemd
tcp6       0      0 :::4001                 :::*                    LISTEN      232        16321      634/etcd2
tcp6       0      0 :::2379                 :::*                    LISTEN      232        16320      634/etcd2
tcp6       0      0 :::5355                 :::*                    LISTEN      245        14796      502/systemd-resolve


上書きファイル クラウド - Kubernetes 手先の役割を果たすインスタンスのすべての次のコマンドを実行することによって私たち Kubernetes 手先構成に config.yml を既定 :

ロール ノードを再生インスタンス上でのみ (手先、以下も同じ順序で /以下のコマンドで kubernetes マスター インスタンスのプライベート ip アドレスを適応する必要がある注意 ) :


core@Kube-MINION1 ~ $ sudo wget -O /usr/share/oem/cloud-config.yml http://mirror02.ikoula.com/priv/coreos/kubernetes-minion.yaml
--2015-06-22 16:39:26--  http://mirror02.ikoula.com/priv/coreos/kubernetes-minion.yaml
Resolving mirror02.ikoula.com... 80.93.X.X, 2a00:c70:1:80:93:81:178:1
Connecting to mirror02.ikoula.com|80.93.X.X|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5210 (5.1K) [text/plain]
Saving to: '/usr/share/oem/cloud-config.yml'

<!--T:25-->
/usr/share/oem/cloud-config.yml               100%[===================================================================================================>]   5.09K  --.-KB/s   in 0s

<!--T:26-->
2015-06-22 16:39:26 (428 MB/s) - '/usr/share/oem/cloud-config.yml' saved [5210/5210]


core@Kube-MINION1 ~ $ export `cat /etc/environment`


交換 (kubernetes マスター インスタンスの ip 民間 10.1.1.138 以下のコマンド ) 最後に一度、コマンドを実行したこれら同じのインスタンスのそれぞれに :


core@Kube-MINION1 ~ $ sudo sed -i 's#MASTER_PRIVATE_IP#10.1.1.138#g' /usr/share/oem/cloud-config.yml


ノード kubernetes 手先の構成が効果的とクラスターに参加何をされるようにコンピューターを再起動します。/私たちことを確認私たち


core@Kube-MINION1 ~ $ sudo reboot


まあ、インスタンス kubernetes 手先に参加私たちのクラスター 2 クラスター インスタンスのすべてのメンバーに次のコマンドを実行することができます (ここ Kubernetes 手先がサービス インスタンスに ) :


core@Kube-MASTER ~ $ sudo fleetctl list-machines
MACHINE         IP              METADATA
5097f972...     10.1.1.215      role=node
aee19a88...     10.1.1.138      role=master
fe86214c...     10.1.1.83       role=node


core@Kube-MINION1 ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/coreos.com/network/subnets/10.244.38.0-24
/coreos.com/network/subnets/10.244.23.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default
/registry/events
/registry/events/default
/registry/events/default/10.1.1.215.13ea16c9c70924f4
/registry/events/default/10.1.1.83.13ea16f74bd4de1c
/registry/events/default/10.1.1.83.13ea16f77a4e7ab2
/registry/events/default/10.1.1.215.13ea16c991a4ee57
/registry/minions
/registry/minions/10.1.1.215
/registry/minions/10.1.1.83


core@Kube-MINION2 ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/coreos.com/network/subnets/10.244.38.0-24
/coreos.com/network/subnets/10.244.23.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default
/registry/events
/registry/events/default
/registry/events/default/10.1.1.83.13ea16f77a4e7ab2
/registry/events/default/10.1.1.215.13ea16c991a4ee57
/registry/events/default/10.1.1.215.13ea16c9c70924f4
/registry/events/default/10.1.1.83.13ea16f74bd4de1c
/registry/minions
/registry/minions/10.1.1.215
/registry/minions/10.1.1.83


リスン ポート /マスター Kubernetes で行われる情報交換、Kubelet サービスなど (マスター Kubernetes API と通信の検証 ) :


core@Kube-MINION1 ~ $ sudo netstat -taupen | grep LISTEN
tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      0          18280      849/kube-proxy
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      245        14843      500/systemd-resolve
tcp6       0      0 :::49005                :::*                    LISTEN      0          18284      849/kube-proxy
tcp6       0      0 :::10255                :::*                    LISTEN      0          19213      1025/kubelet
tcp6       0      0 :::47666                :::*                    LISTEN      0          18309      849/kube-proxy
tcp6       0      0 :::22                   :::*                    LISTEN      0          13669      1/systemd
tcp6       0      0 :::4001                 :::*                    LISTEN      232        16106      617/etcd2
tcp6       0      0 :::4194                 :::*                    LISTEN      0          19096      1025/kubelet
tcp6       0      0 :::10248                :::*                    LISTEN      0          19210      1025/kubelet
tcp6       0      0 :::10250                :::*                    LISTEN      0          19305      1025/kubelet
tcp6       0      0 :::2379                 :::*                    LISTEN      232        16105      617/etcd2
tcp6       0      0 :::5355                 :::*                    LISTEN      245        14845      500/systemd-resolve


UI Kubernetes :

Kubernetes ダッシュ ボードにアクセスするためには、ポートへの接続を許可する必要が :

Kubernetes マスター API サーバー 8080 (転送が必要な場合、ポートを実施 ) 領域の転送 (ポート ) Kubernetes マスター インスタンス。その後、単に url へ 8080 お使いのブラウザーで http://adresse_ip_publique_instance_kubernetes_master:8080/static/app/#/dashboard/ このダッシュ ボードからは、他のノードに関する情報を表示することが可能の中にある :


ファイル:Kubernetes-UI.png


Kubernetes 手先 (.これをクリックすることができます )ビュー "クリックして " :


ファイル:Kubernetes-UI-2.png


ノード "あなたのノード Kubernetes ミニオンのリストが表示されます " :


ファイル:Kubernetes-UI-3.png


このノードに関する情報を表示するそれらの 1 つをクリックして :


ファイル:Kubernetes-UI-4.png


バージョン等の港湾労働者、システム、KubeProxy、Kubelet です |� (また、ツールを使用することができます ) :


ファイル:Kubernetes-UI-5.png


Kubernetes CLI :


以来 Kubernetes マスター インスタンス。これを行うには、このユーティリティを次のようにインストールする必要があります Kubectl ログイン後に ssh インスタンス Kubernetes マスター タイプ次のコマンド :


API Kubernetes と良好なコミュニケーションのテスト :


core@Kube-MASTER ~ $ sudo wget -O /opt/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v0.17.0/bin/linux/amd64/kubectl
--2015-06-23 11:39:09--  https://storage.googleapis.com/kubernetes-release/release/v0.17.0/bin/linux/amd64/kubectl
Resolving storage.googleapis.com... 64.233.166.128, 2a00:1450:400c:c09::80
Connecting to storage.googleapis.com|64.233.166.128|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20077224 (19M) [application/octet-stream]
Saving to: '/opt/bin/kubectl'

<!--T:54-->
/opt/bin/kubectl                              100%[===================================================================================================>]  19.15M  1.18MB/s   in 16s

<!--T:55-->
2015-06-23 11:39:26 (1.18 MB/s) - '/opt/bin/kubectl' saved [20077224/20077224]


core@Kube-MASTER ~ $ sudo chmod 755 /opt/bin/kubectl


私たちのクラスターで展開できる最初のコンテナー Nginx したがって :


core@Kube-MASTER ~ $ kubectl get node
NAME         LABELS                              STATUS
10.1.1.215   kubernetes.io/hostname=10.1.1.215   Ready
10.1.1.83    kubernetes.io/hostname=10.1.1.83    Ready


core@Kube-MASTER ~ $ kubectl cluster-info
Kubernetes master is running at http://localhost:8080


我々 はすることができますあるいは我々 のホストは、このコンテナーを展開、ポッドとは、ip の名前の影響は、 :


core@Kube-MASTER ~ $ kubectl run-container nginx --image=nginx
CONTROLLER   CONTAINER(S)   IMAGE(S)   SELECTOR              REPLICAS
nginx        nginx          nginx      run-container=nginx   1


我々 行くことによって Kubernete UI ダッシュ ボード経由でこれと同じ情報を見つける :


core@Kube-MASTER ~ $ kubectl get pods
POD           IP            CONTAINER(S)   IMAGE(S)   HOST                    LABELS                STATUS    CREATED     MESSAGE
nginx-zia71   10.244.38.2                             10.1.1.215/10.1.1.215   run-container=nginx   Running   3 minutes
                            nginx          nginx                                                    Running   1 minutes


ビュー "その後、" ポッド "我々 はポッドとその ip アドレスの名前を持つこのコンテナーを展開するホストの ip アドレスを見ることができます " :


ファイル:Kubernetes-UI-6.png


私たちのポッドの詳細を取得しますそれをクリックして :


ファイル:Kubernetes-UI-7.png


我々 は単に私たちのコンテナーを停止ことができます :


ファイル:Kubernetes-UI-8.png


我々 は、コンテナーを配置することも :


core@Kube-MASTER ~ $ kubectl stop rc nginx
replicationcontrollers/nginx


レプリカ 2 詳細については、アーキテクチャ、コンポーネント、クラスター Kubernetes の操作を勧めます公式ドキュメントを読むに :


core@Kube-MASTER ~ $ kubectl run-container nginx --image=nginx --replicas=2
CONTROLLER   CONTAINER(S)   IMAGE(S)   SELECTOR              REPLICAS
nginx        nginx          nginx      run-container=nginx   2


core@Kube-MASTER ~ $ kubectl get pods
POD           IP            CONTAINER(S)   IMAGE(S)   HOST                    LABELS                STATUS    CREATED          MESSAGE
nginx-7gen5   10.244.38.3                             10.1.1.215/10.1.1.215   run-container=nginx   Running   About a minute
                            nginx          nginx                                                    Running   39 seconds
nginx-w4xue   10.244.23.3                             10.1.1.83/10.1.1.83     run-container=nginx   Running   About a minute
                            nginx          nginx                                                    Running   About a minute


ファイル:Kubernetes-UI-9.png


「Kubernetes アーキテクチャ」 :



あなたにはコメントを投稿する権限がありません。