当前位置: 首页 > news >正文

坪山手机网站建设潍坊网站优化

坪山手机网站建设,潍坊网站优化,页面设计布局,食品行业网站源码**service分类 : ** **ClusterIP : ** 默认类型,自动分配一个【仅集群内部】可以访问的虚拟IP **NodePort : ** 对外访问应用使用,在ClusterIP基础上为Service在每台机器上绑定一个端口,就可以通过: ipNodePort来访问该服务 **LoadBalanc…
  • **service分类 : **
    • **ClusterIP : **

    • 默认类型,自动分配一个【仅集群内部】可以访问的虚拟IP

    • **NodePort : **

    • 对外访问应用使用,在ClusterIP基础上为Service在每台机器上绑定一个端口,就可以通过: ip+NodePort来访问该服务

    • **LoadBalancer : **

    • 使在NodePort的基础上,借助公有云创建一个外部负载均衡器,并将请求转发到NodePort

    • 可以实现集群外部访问服务的另外一种解决方案,不过并不是所有的k8s集群都会支持,大多是在公有云托管集群中会支持该类型

    • **ExternalName : **

    • 把集群外部的服务引入到集群内部来,在集群内部直接使用。没有任何类型代理被创建,这只有 Kubernetes 1.7或更高版本的kube-dns才支持。


  • **service和pod之间是通过 selector.app进行关联的 : **
spec: # 描述selector: # 标签选择器,确定当前service代理控制哪些podapp: xdclass-nginx
  • **yml模板文件 : **
apiVersion: v1
kind: Service
metadata:creationTimestamp: nullname: xdclass-svc
spec:ports:- port: 80  # service服务端口protocol: TCPtargetPort: 80 # pod端口,常规和容器内部端口一致selector:app: xdclass-nginx-pod
status:loadBalancer: {}
  • **关于K8S中端口的概念区分 : **
  1. **port **
  • 是service端口,即k8s中服务之间的访问端口 ,clusterIP:port 是提供给集群内部客户访问service的入口
  1. **nodePort **
  • 容器所在node节点的端口,通过nodeport类型的service暴露给集群节点,外部可以访问的端口
  1. **targetPort **
  • 是pod的端口 ,从port和nodePort来的流量经过kube-proxy流到后端pod的targetPort上,进入容器。
  1. **containerPort **
  • 是pod内部容器的端口,targetPort映射到containerPort。

image.png

  • 4种端口作用不一样,port和nodePort都是service的端口
  • port暴露给集群内客户访问服务,nodePort暴露给集群外客户访问服务
  • 这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod中的容器
apiVersion: v1
kind: Pod
metadata:name: nginxnamespace: devlabels:app: nginx
spec:containers:- name: nginximage: nginx:1.20imagePullPolicy: IfNotPresentports:- containerPort: 80 #容器端口 
---
apiVersion: v1
kind: Service
metadata:name: nginx
spec:type: NodePort # 有配置NodePort,外部可访问k8s中的服务 ,ports:- name: nginxport: 80  # 服务service的访问端口protocol: TCPtargetPort: 80  # pod端口,映射到容器端口nodePort: 30015  # NodePort,通过nodeport类型的service暴露给集群外部访问selector:app: nginx

**操作 : **

# 创建Deployment
kubectl apply -f deploy-nginx-pod.yaml# 查看deployment和pod (service的缩写是svc)
kubectl get deployment,pod,svc -n dev -o wide# 暴露服务 clusterIP 类型
kubectl expose deploy xdclass-deploy --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n dev# 查看服务(多了个类型是ClusterIP的,通过curl clusterIp+port可以访问)
kubectl get deployment,pod,svc -n dev -o wide# 查看服务详情
kubectl describe svc svc-nginx1 -n dev

  • **NodePort : **
# 创建NodePort类型服务 (网络安全组记得开放32451端口)
kubectl expose deploy xdclass-deploy --name=svc-nodeport-nginx1 --type=NodePort --port=80 --target-port=80 -n dev

image.png
image.png

# 查看服务详情
kubectl describe svc svc-nodeport-nginx1 -n dev

image.png

Endpoint(缩写是ep)

  • 是k8s中的一个资源对象,存储在etcd中,记录service对应的所有pod的访问地址
  • 里面有个Endpoints列表,就是当前service可以负载到的pod服务入口
  • service和pod之间的通信是通过endpoint实现的
# 查看endpoint列表
kubectl get ep svc-nodeport-nginx1 -n dev -o wide
  • service如何决定分发请求到后端的Pod?

image.png

kubernetes提供了两种负载均衡策略

  • 默认,kube-proxy的策略,如随机、轮询
  • 使用会话保持模式,即同个客户端的请求固定到某个pod,在spec中添加sessionAffinity:ClientIP即可

**操作 : **

#查看全部pod和ip
kubectl get pods -n dev -o wide#修改pod里面容器nginx的默认静态页面,内容为Pod所在的ip
kubectl exec -it xdclass-deploy-64967f6b67-p66wh -n dev /bin/shecho "xdclass.net 5" > /usr/share/nginx/html/index.html# curl访问ip+port 或 浏览器直接访问
http://www.yayakq.cn/news/275727/

相关文章:

  • 平面设计专业网站wordpress支付宝登录界面
  • wordpress如何删除已安装主题新区seo整站优化公司
  • 苏州关键词网站排名工业企业利润加快回升
  • 双浩建设网站如何做网络营销推广员
  • 昆明网站的优化东莞志豪建设公司网站
  • 最好的ppt模板网站黄埔网站建设设计
  • 大德通网站建设公司手机app开发报价
  • 如何看网站是否有做网站地图成都app开发多少钱
  • 带你做网站毕设河南建设工程信息网一体化平台查询
  • 手机网站解析域名网络规划设计师吧
  • 重庆网站优化公司哪家便宜wordpress数字链接出现404
  • 一般设计网站页面用什么软件做网站开发无形资产
  • 响应式网站搭建百度小程序page手机转wordpress
  • 网页设计是网站建设与管理的内容吗网站到期域名怎么解决办法
  • 南通网站建设设计wordpress download monitor
  • 网站开发所以浏览器兼容模式wordpress分类显示文章
  • 建筑公司网站页面图片Wordpress雪花特效代码
  • 软件代做网站在哪找活开发公司资质分几个等级
  • 搜一搜站长工具临湘网站
  • 个人做的小网站需要备案东莞市招投标交易中心
  • 东莞营销商城网站建设网站建设工作要求
  • 网站开发技术要学什么seo还可以做哪些推广
  • dede网站管理系统演示长春火车站哪个区
  • asp网站开发上传组建做配资网站多少钱
  • 电商平台网站定制成立一个做网站的工作室
  • 莱芜论坛莱芜都市网seo推广的网站和平台有哪些
  • 恩施网站定制品牌vi设计案例欣赏ppt
  • 运城网站建设公司免费创建手机网站
  • 京东网站建设的要求网站开发实战作业答案
  • 东城网站建设工作室沙洋网站开发