
利用Deployment来创建一组Pod来提供具有高可用性的服务,每个Pod都会分配一个单独的Pod IP,却存在以下两个问题:
Pod IP 会随着Pod的重建产生变化
对于访问这个服务带来了难度。kubernetes设计了Service来解决这个问题。
Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。
二、Service配置(1)命令式对象管理
# 创建集群内部可访问的Service kubectl expose deploy tomcat --name=svc-tomcat1 --type=ClusterIP --port=80 --target-port=8080 -n mk # 查看service kubectl get svc svc-tomcat1 -n dev -o wide # 这里产生了一个CLUSTER-IP,这就是service的IP,在Service的生命周期中,这个地址是不会变动的 # 创建集群外部也可访问的Service # 修改type为NodePort kubectl expose deploy tomcat --name=svc-tomcat2 --type=NodePort --port=80 --target-port=8080 -n mk # 删除Service kubectl delete svc svc-tomcat1 -n mk
(2)命令式对象配置
创建一个svc-tomcat.yaml,内容如下:
apiVersion: v1 kind: Service metadata: name: svc-tomcat namespace: dev spec: clusterIP: 172.21.12.34 #固定svc的内网ip ports: - port: 80 protocol: TCP targetPort: 8080 selector: name: tomcat type: ClusterIP
然后就可以执行对应的创建和删除命令了:
创建:kubectl create -f svc-tomcat.yaml
删除:kubectl delete -f svc-tomcat.yaml
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)