kubernetes容器编排-服务

kubernetes容器编排-服务,第1张

kubernetes容器编排-服务

文章目录
    • Service
      • k8s网络架构:⭐⭐⭐⭐⭐
      • clusterIP示例:
      • NodePort示例:
      • ExternalName 示例
      • LoadBalancer
    • Ingress

Service k8s网络架构:⭐⭐⭐⭐⭐

共有四种不同IP的port,根据实际情况,通过设置端口的映射,设置不同的访问权限

clusterIP示例
apiVersion: v1
kind: Service
metadata:
  name: canary-test
  namespace: default
spec:
  selector:
    app: canary-nginx
  clusterIP: None  # 这一项是可选项,type 一定要是 CluesterIP才能用
  ## None 不要给这个SVC分配IP,在pod内是使用域名访问,pod外不能访问,称为headless service无头服务,配合有状态副本集StatefulSet使用
  ## 也可以指定IP,如10.96.xx.xx
  type: ClusterIP
  ## NodePort   #每个节点所在机器都开这个端口,浏览器可以通过每个节点的IP+暴漏的端口访问,并且相当于访问的是负载均衡网络
  ## ClusterIP: 不写type,默认就是这个,指的是,当前Service在集群内可以被所有人发现,默认给这个service分配一个集群内网络
  ## podcidr: pod的子网范围   svcdi: service的子网范围
  ports:
  - name: abc   ## 随便起名,无所谓
    port: 80   # service 端口
    targetPort: 8080 #  pod 端口
  - name: redis   ## 随便起名,无所谓
    port:  99  # service 端口
    targetPort: 6379 #  pod 端口
NodePort示例:
apiVersion: v1
kind: Service
metadata:
  name: canary-test
  namespace: default
spec:
  selector:
    app: canary-nginx
  type: NodePort
  ports:
  - name: abc   ## 随便起名,无所谓
    port: 80   # service 端口
    targetPort: 8080 #  pod 端口
    
  - name: redis   ## 随便起名,无所谓
    port:  99  # service 端口
    targetPort: 6379 #  pod 端口
    nodePort: 30088   # type要是NodePort才能用,所有集群中的机器都打开这个端口,暴漏给外界,没写就自动指定,访问任意一台机器,都能访问到Service代理的pod

kubectl get svc查看

ExternalName 示例
apiVersion: v1
kind: Service
metadata:
  name: external-test
  namespace: default
spec:
  type: ExternalName
  externalName: baidu.com

LoadBalancer

请求云服务商提供负载均衡器
一般不用

Ingress

高并发,生产可用k8s完整网络架构

Ingress-nginx需要安装才能使用:非官方文档,二次修改

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5433435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存