在K8s上运行node.js

有关node.js的搭建参考我的另一篇文章

部署Node.js应用

kubectl run k8snode --image=tumaimes/node_web:0.1 --port=8080 --generator=run-pod/v1
#查看所有的rc
kubectl get rc 
#rc 、svc 、po 均属简称
#删除pod
kubectl detele pod 
#删除rc
kubectl detele rc 

可以看到启动的k8snode已经在运行了。
在K8s上运行node.js_第1张图片

二、访问Web应用

如何访问正常运行的pod,每个pod有自己的IP地址,但是这个IP地址时内部的IP地址不能通过外部IP访问。要让pod能够从外部访问,需要通过服务对象公开它,创建一个特殊的LoadBalancer类型的服务。通过创建Loadbalancer类型的服务,将创建一个外部的负载均衡,可以通过负载均衡的公共IP访问pod。

  1. 创建一个服务对象
    要创建服务,需要告知K8s对外暴露之前的ReplicationController:
kubectl expose rc k8snode --type=LoadBalancer --name kubia-http

在K8s上运行node.js_第2张图片

三、应用的水平扩展

kubectl scale rc k8snode --replicas=2

在K8s上运行node.js_第3张图片

  • 通过请求发现会动态的转发到不同的容器中
    在K8s上运行node.js_第4张图片
  • 通过kubia-http代理来实现负载均衡,动态的扩展
    在K8s上运行node.js_第5张图片
  • 列出pod的更多信息
kubectl get pods -o wide
  • 查看pod的细节
kubectl describe pod 

你可能感兴趣的:(k8s)