K 8 Sでハロルドを走る。


dockerの鏡像を建てる
便利さのためにここで直接に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);
Docerfile
Docerfileファイルを作成し、ミラーを設定します。
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=NeverK 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