k8s-Service

一、背景

通过pod控制器Deployment创建的一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题:

  • pod重建后,pod的ip会发生变化
  • pod的ip仅仅是集群内可以访问的虚拟ip,外部无法访问

因此,kubernetes设计了Service来解决这个问题。Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。
image

二、创建集群内可以访问的service

image

#暴露service --pod
kubectl expose pod nginx-pod --type=ClusterIP --name=nginx-pod-svc --port=80 --target-port=80 -n test


#暴露service --deploy
kubectl expose deploy nginx-deploy --type=ClusterIP --name=nginx-deploy-svc --port=80 --target-port=80 -n test

image

三、创建外部可以访问的service

#创建外部也可以访问的Service,需要修改type为NodePort
kubectl expose pod nginx-pod --name=nginx-pod-svc2 --port=80 --target-port=80 --type=NodePort -n test

image

四、删除service

kubectl delete svc nginx-pod-svc -n test
image

posted @ 2022-10-26 17:09  弩哥++  阅读(19)  评论(0编辑  收藏  举报