「クラスター コア Os と Kubernetes を展開します。」の版間の差分
1行目: | 1行目: | ||
+ | <span data-link_translate_de_title="Bereitstellen eines Clusters Kubernetes mit CoreOS" data-link_translate_de_url="Bereitstellen+eines+Clusters+Kubernetes+mit+CoreOS"></span>[[:de:Bereitstellen eines Clusters Kubernetes mit CoreOS]][[de:Bereitstellen eines Clusters Kubernetes mit CoreOS]] | ||
<span data-link_translate_nl_title="Implementeer een cluster Kubernetes met CoreOS" data-link_translate_nl_url="Implementeer+een+cluster+Kubernetes+met+CoreOS"></span>[[:nl:Implementeer een cluster Kubernetes met CoreOS]][[nl:Implementeer een cluster Kubernetes met CoreOS]] | <span data-link_translate_nl_title="Implementeer een cluster Kubernetes met CoreOS" data-link_translate_nl_url="Implementeer+een+cluster+Kubernetes+met+CoreOS"></span>[[:nl:Implementeer een cluster Kubernetes met CoreOS]][[nl:Implementeer een cluster Kubernetes met CoreOS]] | ||
<span data-link_translate_it_title="Distribuire un cluster Kubernetes con CoreOS" data-link_translate_it_url="Distribuire+un+cluster+Kubernetes+con+CoreOS"></span>[[:it:Distribuire un cluster Kubernetes con CoreOS]][[it:Distribuire un cluster Kubernetes con CoreOS]] | <span data-link_translate_it_title="Distribuire un cluster Kubernetes con CoreOS" data-link_translate_it_url="Distribuire+un+cluster+Kubernetes+con+CoreOS"></span>[[:it:Distribuire un cluster Kubernetes con CoreOS]][[it:Distribuire un cluster Kubernetes con CoreOS]] |
2015年11月18日 (水) 16:08時点における版
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 手先 (.これをクリックすることができます )ビュー "クリックして " :
ノード "あなたのノード Kubernetes ミニオンのリストが表示されます " :
このノードに関する情報を表示するそれらの 1 つをクリックして :
バージョン等の港湾労働者、システム、KubeProxy、Kubelet です |� (また、ツールを使用することができます ) :
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 アドレスを見ることができます " :
私たちのポッドの詳細を取得しますそれをクリックして :
我々 は単に私たちのコンテナーを停止ことができます :
我々 は、コンテナーを配置することも :
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 アーキテクチャ」 :
コメントの自動更新を有効化