固原住房和城乡建设厅网站,伊犁州建设局网站,网站屏蔽ip地址,室内效果图制作一#xff0c;前言
上一篇#xff0c;通过配置一个 Deployment 对象#xff0c;在内部创建副本集对象#xff0c;副本集帮我们创建了 3 个 pod 副本
由于 pod 存在 IP 漂移现象#xff0c;pod 的创建和重启会导致 IP 变化#xff1b;
本篇#xff0c;介绍 Service 服…一前言
上一篇通过配置一个 Deployment 对象在内部创建副本集对象副本集帮我们创建了 3 个 pod 副本
由于 pod 存在 IP 漂移现象pod 的创建和重启会导致 IP 变化
本篇介绍 Service 服务解决 pod 的 IP 漂移问题 二Service 介绍
deployment 是无状态的deployment 并不会对 pod 进行网络通信和分发Pod 的 IP 在运行时还会经常进行漂移且不固定想访问服务需要使用 Service 组织统一的 Pod 访问入口可以定义Service 来进行统一组织 Pod 服务访问负责自动调度和组织deployment中 Pod 的服务访问由于自动映射 Pod 的IP同时也解决了 Pod 的IP漂移问题 三Pod 的 ip 漂移问题
上图有 3 个 node 节点访问节点 3000 端口请求会统一转发到 service由 service 负载均衡分发到 pod 节点
在每个 node 节点上监听一个端口如 3000客户端即浏览器访问每个节点的 3000 端口都会访问到 Service 服务Service 有固定 IP 和端口号通过 Service 转发给 pod
Service 负责调度和组织 deployment 中 Pod 完成服务访问Service 会自动映射 Pod 的 IP即 Service知道每个 pod 对应的真实 ip 这样就解决了 Pod 的 IP 漂移问题pod 的 ip 可能会发生变化但有固定 IP 和端口的 Service 服务可以找到 pod 四创建 Service 配置文件
NodePort 将会在所有节点上开放一个特定端口任何发送到该端口的流量都将被转发到对应的服务上
字段说明protocol通信类型TCP/UDPtargetPort原本 Pod 开放的端口portKubernetes 容器之间互相访问的端口typeNodePortService 的一种访问方式
创建 Service 配置文件user-service-v1.yaml
[rootk8s-master ~]# ls
deployment init-kubeadm.conf kube-flannel.yml mysql.yaml
[rootk8s-master ~]# cd deployment/
[rootk8s-master deployment]# ls
deployment-user-v1.yaml
[rootk8s-master deployment]# vi user-service-v1.yaml配置信息
apiVersion: v1
kind: Service #类型
metadata:name: service-user-v1
spec:selector:app: user-v1 ports:- protocol: TCP #协议port: 80 #nginx端口targetPort: 80type: NodePort #节点端口号不指定随机五启动 Service
// 根据配置文件启动 Service
[rootk8s-master deployment]# kubectl apply -f user-service-v1.yaml
service/service-user-v1 created六查看当前的服务
// 查看当前服务
[rootk8s-master deployment]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 none 443/TCP 35h
nginx NodePort 10.107.223.32 none 80:32117/TCP 21h
service-user-v1 NodePort 10.104.13.40 none 80:31071/TCP 55s七访问 Service
1可以在任何节点上访问
// master 访问
[rootk8s-master ~]# curl http://172.17.178.105:31071
user-v1
[rootk8s-master ~]# curl http://172.17.178.106:31071
user-v1// node 访问
[rootk8s-node ~]# curl http://172.17.178.105:31071
user-v1
[rootk8s-node ~]# curl http://172.17.178.106:31071
user-v12通过浏览器访问公网地址
http://47.93.9.45:31071/问题浏览器会转框卡住 原因由于防火墙导致
两种解决方法
1到阿里云安全规则配置开放端口 2换成一个已经开放的端口比如8080
开放端口号31071 重新访问成功 结尾
本篇主要介绍了 Service 相关内容包含创建、启动、访问、以及 pod 的 id 漂移
下一篇继续介绍 Ingress