K 8 Sでハロルドを走る。
dockerの鏡像を建てる
便利さのためにここで直接にjsページを使ってアプリケーションとして鏡像を作成します。
ハローワールドのホームページ
server.jsを作成し、以下のコードを入力してハロルドページを作成します。
Docerfileファイルを作成し、ミラーを設定します。
詳細なDocerfileの書き方は公式文書を参照してください。
イメージを作成
Docker fileを配置すれば、dockerのbuildコマンドを使用してDocerfileの内容に基づいてイメージを作成できます。
Kubergnetes上でこのミラーでPODを作成します。
K 8 Sクラスタ構成が完了したら、実行する。
しかしこの時、PODはデフォルトでは外部に露出しないので、nodeの出力は観測できません。このために、Serviceを作成してPODのポートを暴露する必要があります。
このPODにアクセス
Kubergnetes Service
Serviceにはいくつかの種類がありますが、デフォルトではcluster-inp、つまりpodを通じてクラスタ内部のIPアドレスにserviceへのアクセスしかできません。
第二はnodeportであり、つまり各Nodeに一つのポートが露出されています。外部ネットワークは(いずれかのNode)[NodeIP]:[NodePort]を通じてバックエンドのServiceにアクセスできます。
第三の種類はloadbalancerで、下のクラウドプラットフォームに負荷イコライザを作成してください。各Nodeをバックエンドとしてサービスを提供します。このモードは下のクラウドプラットフォーム(例えばGCE)のサポートが必要です。
最も簡単なのは、デフォルトのclusteripのserviceを直接オープンし、Master上で直接クラスタ内部IPを通じてhellowworldにアクセスすることです。
訪問する
serviceを作成した後、
転載先:https://www.cnblogs.com/bforever/p/10601169.html
便利さのためにここで直接にjsページを使ってアプリケーションとして鏡像を作成します。
ハローワールドのホームページ
server.jsを作成し、以下のコードを入力してハロルドページを作成します。
var http = require('http');
var handleRequest = function(request, response) {
console.log('Received request for URL: ' + request.url);
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
DocerfileDocerfileファイルを作成し、ミラーを設定します。
FROM node:6.9.2
EXPOSE 8080
COPY server.js .
CMD node server.js
このうち、FROMはオフィシャルミラーライブラリからnodeのミラーを取得し、EXPOSEは本容器の8080ポートを暴露し、COPYはserver.jsを容器に入れ、CMDは容器に実行するコマンドです。詳細なDocerfileの書き方は公式文書を参照してください。
イメージを作成
Docker fileを配置すれば、dockerのbuildコマンドを使用してDocerfileの内容に基づいてイメージを作成できます。
docker build -t hello-node:v1 .
ここで最後の.
を落とさないように注意してください。Kubergnetes上でこのミラーでPODを作成します。
K 8 Sクラスタ構成が完了したら、実行する。
kubectl run hello-node --image=hello-node:v1 --port=8080 --image-pull-policy=Never
K 8 Sでは、新たな運転を開始したばかりのミラーのPODを作成することができます。しかしこの時、PODはデフォルトでは外部に露出しないので、nodeの出力は観測できません。このために、Serviceを作成してPODのポートを暴露する必要があります。
このPODにアクセス
Kubergnetes Service
Serviceにはいくつかの種類がありますが、デフォルトではcluster-inp、つまりpodを通じてクラスタ内部のIPアドレスにserviceへのアクセスしかできません。
第二はnodeportであり、つまり各Nodeに一つのポートが露出されています。外部ネットワークは(いずれかのNode)[NodeIP]:[NodePort]を通じてバックエンドのServiceにアクセスできます。
第三の種類はloadbalancerで、下のクラウドプラットフォームに負荷イコライザを作成してください。各Nodeをバックエンドとしてサービスを提供します。このモードは下のクラウドプラットフォーム(例えばGCE)のサポートが必要です。
最も簡単なのは、デフォルトのclusteripのserviceを直接オープンし、Master上で直接クラスタ内部IPを通じてhellowworldにアクセスすることです。
kubectl expose deployment hello-node --port=8080 --target-port=8080
他の方法、例えばNodePortは--type=NodePort
パラメータで指定できます。訪問する
serviceを作成した後、
kubectl get service
を使って、現在実行されているserviceを確認できます。hello-nodeのCusterIPが見られます。ブラウザでこのIPにアクセスすれば、hello worldが見られます。転載先:https://www.cnblogs.com/bforever/p/10601169.html