栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

K8S Learning(8)—— Service

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

K8S Learning(8)—— Service

一、Service简介

利用Deployment来创建一组Pod来提供具有高可用性的服务,每个Pod都会分配一个单独的Pod IP,却存在以下两个问题:

Pod IP 会随着Pod的重建产生变化

Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问

对于访问这个服务带来了难度。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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/719756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号