Centos7 k8s 容器的网络访问service

一、k8s Service基本情况
  1、概念:为了适应快速的业务需求,微服务架构已经逐渐成为主流,微服务架构的应用需要有非常好的服务编排支持。Kubernetes中的核心要素service便提供了一套简化的服务代理和发现机制,天然适应服务架构。

  2、原理:在kubernetes中,在受到RC调控的时候,Pod副本是变化的,对于的虚拟IP也是变化的,比如发生迁移或者伸缩的时候。这对于Pod的访问者来说是不可接受的。Kubrnetes中的Service是一种抽象概念,它定义了一个Pod逻辑集合以及访问他们的策略,Service同Pod的关联同样是基于Label来完成的。Service的目标是提供一种桥梁,它会为访问者提供一个固定访问地址,用于在访问时重定向到相应的后端,这使得非Kubernetes原生应用程序,在无须为Kubernetes编写特定代码的前提下,轻松访问后端。

 二、配置案例

  1、编写配置文件

复制代码

[root@k8s-master ~]# vim nginx-sv.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: NodePort
  ports:
    - port: 80
      nodePort: 30001
  selector:
    app: myweb

复制代码

  2、创建

复制代码

[root@k8s-master ~]# kubectl create -f nginx-sv.yaml 
service "nginx" created
[root@k8s-master ~]# kubectl get svc 
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 4d
nginx 10.254.101.134 <nodes> 80:30001/TCP 21m
[root@k8s-master ~]# kubectl describe svc  nginx
Name:            nginx
Namespace:        default
Labels:            <none>
Selector:        app=myweb
Type:            NodePort
IP:            10.254.101.134
Port:            <unset>    80/TCP
NodePort:        <unset>    30001/TCP
Endpoints:        <none>
Session Affinity:    None
No events.
[root@k8s-master ~]# 

复制代码

   3、修改svc配置文件

[root@k8s-master ~]# kubectl edit svc

 

  4、 访问容器

 

 

   5、自动发现功能

[root@k8s-master ~]# kubectl edit deployment nginx

 将副本修改为5

 自动把新创建的容器加入。

  6、进入容器

[root@k8s-master ~]# kubectl exec -it nginx-deployment-3637952344-9hjtw /bin/bash

注意:本文有不理解之处,加QQ:1300536862,探讨

推荐:需要租用云服务器,域名等其他服务的可以扫描下方二维码,云服务器免费领取使用,华为云服务:

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值