k8s 入门1

使用kubectl命令来启动一个运行着nginx服务器的容器

$kubectl run my-nginx --image=nginx --replicas=2 --port=80
CONTROLLER   CONTAINER(S)   IMAGE(S)   SELECTOR       REPLICAS
my-nginx     my-nginx       nginx      run=my-nginx   2

将上一步骤中的nginx容器连接到公网中

$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer
NAME       LABELS         SELECTOR       IP(S)     PORT(S)
my-nginx   run=my-nginx   run=my-nginx             80/TCP"

expose命令将会创建一个service,将本地(某个节点上)的一个随机端口关联到容器中的80端口。

可以使用以下命令来查service:

$kubectl get svc my-nginx
NAME         LABELS          SELECTOR     IP(S)              PORT(S)
my-nginx     run=my-nginx    run=nginx    10.254.110.117     80/TCP

type指明这个svc将会起到一个负载均衡的作用,会将流量导入两个pod中。

svc会分配一个虚拟IP用来访问容器,如上步骤中分配的IP为10.254.110.117,则可以在任意节点上通过curl 10.254.110.117得到nginx的欢迎界面。

在分配虚拟IP的过程中,你可能需要等待一些时间。

在任一节点上使用netstat -tunpl命令可以看到,kube-proxy监听的端口多了一个,端口号是随机的,可以在浏览器中输入该节点的公网IP:端口访问放nginx的欢迎界面。

你可能感兴趣的:(k8s 入门1)