首页 > 其他分享 >k8s Server

k8s Server

时间:2023-03-22 14:57:02浏览次数:40  
标签:name service 端口 Server pod k8s spec

1.k8s Server yaml文件编写格式说明:

kind: Service       #类型为service 
apiVersion: v1      #service API版本, service.apiVersion
metadata:           #定义service元数据,service.metadata  
  labels:           #自定义标签,service.metadata.labels 
    app: linux36-nginx-service-labels   #定义service标签的内容 (service label:会用于K8s的弹性伸缩(HPA) ,k8s动态实现pod扩容或缩容)
  name: linux36-nginx-service           #定义service的名称(kubectl  get service),此名称会被DNS解析,(Nginx 实现动静分离: proxy_pass http://magedu-tomcat-service.svc.zzhz.local)
  namespace: linux36                    #该service隶属于的namespaces名称,即把service创建到哪个namespace里面 
spec:               #定义service的详细信息,service.spec 
  type: NodePort    #service的类型,定义服务的访问方式,默认为ClusterIP. 在宿主机开启的端口。 (ExternalName, ClusterIP, NodePort,  LoadBalancer)
  ports:            #定义访问端口, service.spec.ports 
  - name: http      #定义一个端口名称 
    port: 80        #service 80端口。 
    protocol: TCP   #协议类型 
    targetPort: 80  #目标pod的端口,此值也可以写template: spec: containers: ports:containerPort:name的值。如http 
    nodePort: 30001 #node节点暴露端口
  - name: https     #SSL 端口 
    port: 443       #service 443端口 
    protocol: TCP   #端口协议 
    targetPort: 443 #目标pod端口 
    nodePort: 30043 #node节点暴露的SSL端口 
  selector:                       #service的标签选择器,定义要访问的目标pod 
    app: linux36-nginx-selector   #将流量路到选择的pod上,须等于Deployment.spec.selector.matchLabels

 

Service
一般常用的有两种:
• k8s集群内(ClusterIP网络类型)的service:selector指定pod,自动创建Endpoints,(申明是不带nodePort,用于数据库,redis都是对内的)。
• k8s集群外(NodePort网络类型)的service:手动创建Endpoints,指定外部服务的ip,端口和协议


service的网络类型:
        ExternalName: 
        ClusterIP:ClusterIP 服务是 Kubernetes 的默认服务,k8s内部访问,集群外部无法访问它,pod与pod是经过service访问,而不是IP。
        NodePort:k8s内外部可以访问,外网通过nodePort到service到pod.
        LoadBalancer:


同一个namespace的下service name(不管是否相同)可以使用短名通信 .
不同namespace的下相同service name,也ping不通service name ,不同namespace 的service使用全名通信。

kube-proxy和service的关系:
kube-proxy监听着k8s-apiserver,一旦service资源发生变化(调k8s-api修改service信息),kube-proxy就会生成对应的负载调度的调整,
这样就保证service的最新状态。

kube-proxy有三种调度模型:  
    1.userspace:k8s 1.1之前  
    2.iptables:k8s1.10之前  
    3.ipvs:k8s 1.11之后,如果没有开启ipvs,则自动降级为iptables

 

标签:name,service,端口,Server,pod,k8s,spec
From: https://www.cnblogs.com/Yuanbangchen/p/17243926.html

相关文章

  • K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式)
    K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式) 1Kubernetes简介(k8s)传统部署:互联网早期会直接将应用程序部署在物理机上或者虚拟操作系统中,如部署到to......
  • SQlServer 日期格式 varchar 转 datetime格式
    以下是一个示例查询,将VARCHAR类型的时间字符串20230118.132626转换为日期和时间格式:SELECTDATE_ADD('2023-01-1812:00:00',INTERVAL'1'hour,INTERVAL'1'm......
  • k8s常见故障
    故障排查思路节点处于NotReady节点是由kubelet管理的,所以要先检查kubelet的相关情况排查思路:查看kubelet和docker服务是否正常systemctlstatuskubectlsystemctlstatusd......
  • k8s版MongoShake数据迁移工具
    说明我们原有的MongoDB副本集集群部署在k8s上,后因业务需求,在k8s集群外使用三台虚拟机组建了一套相同架构的MongoDB副本集集群,现想将在k8s集群上mongoDB数据迁移到......
  • (2023版)一套教程搞定k8s安装到实战 | Kubernetes学习路线
    视频来源:B站《(2022版)最新、最全、最详细的Kubernetes(K8s)教程,从K8s安装到实战一套搞定》一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ......
  • Sql Server 中非常强大的日期格式化函数
    ​​Select​​​​​CONVERT​​​(​​varchar​​​(100),GETDATE(),0):0516200610:57AM​​​Select​​​​​CONVERT​​​(​​varchar​​​(100),GETDAT......
  • Windows Server 创建域、加入域、域管理
    安装域添加角色使用添加角色的主要好处是该步骤会检查服务器的配置,需要安装那些必要的功能等。执行dcpromo.exe在运行中输入"dcpromo"由于是新创建域,所以选择在新林中新......
  • Sql Server中查询数据库所有表及其数据总条数和占用空间
    1、查询某数据库中的所有数据表SELECTname数据表FROMsysobjectsWHERExtype='u'ORDERBYname2、查询某数据库中的所有数据表及其数据总条数SELECTa.name数据表,......
  • 128道高频k8s高频面试题
    1、简述ETCD及其特点?2、简述ETCD适应的场景?3、简述什么是Kubernetes?4、简述Kubernetes和Docker的关系?5、简述Kubernetes中什么是Minikube、Kubectl、Kubelet?6、......
  • SQL Server如何找出视图依赖的对象和视图嵌套层数
    场景:在SQLServer数据库的SQL优化中,我们有时候会需要找出某个视图的依赖对象,简单的视图倒是很容易一眼就找出依赖对象,一旦遇到一些复杂的视图,如果我们手动整理的话,就相当麻......