kubernets之向外部应用暴露应用

一  通过NodePort来暴露服务

 

  前面已经介绍的服务的一些作用,例如将集群内部的应用暴露给集群内部的pod使用,将外部的应用通过服务暴露给内部应用使用,但是服务最大的作用不仅仅是这些

而是将集群内部的应用暴露给外部客户端进行访问,这种实现方式有多种,列举出其中2种进行介绍

 

  • 第一种是:通过创建NodePort类型的服务提供给外部的访问
  • 第二种是:创建Ingress来对集群内部的pod对外进行暴露       

 

二  定义NodePort类型的服务资源

apiVersion: v1
kind: Service
metadata:
  name: kubia-nodeport
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 30123
  selector:
    app: kubia
  • 内容很简单,只是比普通的service多了个type类型字段,并且在ports里面添加nodePoer和需要访问的目标端口

 

三 验证是否符合预期

 

  如果除了之前的能通过集群分配给服务的固定IP和端口进行访问,还能通过集群里面的任意的节点加:30123的端口进行访问则说明可以通过

此种方式对服务进行暴露

[root@node01 Chapter05]# k get po
NAME          READY   STATUS    RESTARTS   AGE
kubia-7q8c5   1/1     Running   0          81m
kubia-7w5tq   1/1     Running   0          81m
kubia-ch6qk   1/1     Running   0          81m
[root@node01 Chapter05]# k get svc NAME TYPE CLUSTER
-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3d4h kubia-nodeport NodePort 10.101.58.249 <none> 80:30123/TCP 20m
[root@node01 Chapter05]# k exec kubia
-7q8c5 -- curl -s http://10.101.58.249 You've hit kubia-7w5tq
[root@node01 Chapter05]# k get no -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME master Ready master 3d4h v1.14.2 172.16.70.6 <none> CentOS Linux 7 (Core) 3.10.0-514.el7.x86_64 docker://18.9.6 node01 Ready <none> 3d4h v1.14.2 172.16.70.4 <none> CentOS Linux 7 (Core) 3.10.0-514.el7.x86_64 docker://18.9.6 node02 Ready <none> 3d4h v1.14.2 172.16.70.5 <none> CentOS Linux 7 (Core) 3.10.0-514.el7.x86_64 docker://18.9.6
[root@node01 Chapter05]# k exec kubia-7q8c5 -- curl -s http://172.16.70.6:30123 You've hit kubia-ch6qk
[root@node01 Chapter05]# k exec kubia-7q8c5 -- curl -s http://172.16.70.5:30123 You've hit kubia-ch6qk
[root@node01 Chapter05]# k exec kubia-7q8c5 -- curl -s http://172.16.70.4:30123 You've hit kubia-ch6qk
  • 根据执行的结果以及代码可以看到,我们任意进入一个pod,无论是通过集群分配的IP或者是node:port都能够正确的访问到该服务后面挂载的pod
  • 甚至可以尝试通过浏览器直接访问哦也是可以访问的
posted @ 2020-12-24 16:38  伊铭(netease)  阅读(135)  评论(0编辑  收藏  举报