Service 对外暴露应用
Service 对外暴露端口的时候其实也做了一个负载均衡的效果
kubectl expose deployment [deployment 名字]–port=[对外提供端口] --target-port=[内部本身端口] --type=NodePort
说明:
– port 是对外提供的端口
–target-port 是内部本身的端口,
–type=NodePort方式暴露
注意端口不要乱写,要和你项目端口对上才行,不然就访问不了.比如说你原来项目端口就是8080,那么这个就得写8080端口,不然的话,就会访问不到
[root@zjj101 k8s]# kubectl expose deployment javademo1 --port=8080 --target-port=8080 --type=NodePort
service/javademo1 exposed
查看对外暴露的端口
kubectl get svc
[root@zjj101 k8s]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
javademo1 NodePort 10.105.149.218 <none> 8080:31420/TCP 5s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 46h
[root@zjj101 k8s]#
访问就能访问到了
查看到javademo1对外是31420端口,那么你就可以用集群中任何机器的31420端口都能访问到
访问过程中会给你平均分摊到这个pod的多个副本里面