首页 > 其他分享 >5.k8s Service四层负载:服务端口暴露

5.k8s Service四层负载:服务端口暴露

时间:2024-01-11 14:56:55浏览次数:26  
标签:end Service service svc 四层 front 80 k8s root

题目一:暴露服务service
设置配置环境:
[candidate@node-1] $ kubectl config use-context k8s

Task
请重新配置现有的 deployment front-end 以及添加名为 http 的端口规范来公开现有容器  nginx 的端口 80/tcp。 
创建一个名为 front-end-svc 的新 service,以公开容器端口 http。
配置此 service,以通过各个 Pod 所在的节点上的 NodePort 来公开他们。
解答:
# 1.直接修改deployment.yaml
[root@master service]# kubectl edit deployment myapp-v1
    spec:
      containers:
      - image: docker.io/janakiramm/myapp:v1
        imagePullPolicy: IfNotPresent
        name: nginx   # 容器名称
        ports:  # 添加这4行
        - containerPort: 80  # 端口
          name: http         # 添加名称
          protocol: TCP      # 协议


# 2.将现有的 deploy 暴露成 nodeport 的 service
[root@master service]# cat service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: front-end-svc
spec:
  type: NodePort
  selector:
    app: myapp
    version: v1
  ports:
  - port: 80
    targetPort: 80
    name: http

[root@master service]# kubectl apply -f service.yaml 
service/front-end-svc created
[root@master service]# kubectl get svc front-end-svc -o wide
NAME            TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE   SELECTOR
front-end-svc   NodePort   10.100.226.255   <none>        80:32057/TCP   23s   app=myapp,version=v1

[root@master service]# kubectl describe svc front-end-svc
Name:                     front-end-svc
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=myapp,version=v1
Type:                     NodePort
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.100.226.255
IPs:                      10.100.226.255
Port:                     http  80/TCP
TargetPort:               80/TCP
NodePort:                 http  32057/TCP
Endpoints:                10.244.166.140:80,10.244.166.141:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

# 命令行式写法
[root@master2 service]# kubectl expose deployment front-end --type=NodePort --port=80 --target-port=80 --name=front-end-svc
service/front-end-svc exposed

[root@master2 service]# kubectl get svc
NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
front-end-svc   NodePort    10.100.120.100   <none>        80:30230/TCP   4s

 

标签:end,Service,service,svc,四层,front,80,k8s,root
From: https://www.cnblogs.com/yangmeichong/p/17958578

相关文章

  • 当创建一个service后,kubernetes会发生什么?
    本文分享自华为云社区《当创建一个service后,kubernetes会发生什么?》,作者:可以交个朋友。一、Service介绍1.1Kubernetes为什么会引入service?考虑到集群中Pod实例IP地址随着工作负载的生命周期的变化,常规通过访问Pod实例的IP方法变得不再实用。每个工作负载通常有一个或者更多个后端......
  • 4.k8s-配置网络策略 NetworkPolicy
    一、基本了解官方文档:https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/基本了解:1.网络策略通过网络插件来实现,创建一个NetworkPolicy资源对象而没有控制器来使它生效的话,是没有任何作用的,而我们搭建K8s集群时安装的calico网络组件就支持网......
  • 创建service后,kubernetes会发生什么
    本文分享自华为云社区《当创建一个service后,kubernetes会发生什么?》,作者:可以交个朋友。一、Service介绍1.1Kubernetes为什么会引入service?考虑到集群中Pod实例IP地址随着工作负载的生命周期的变化,常规通过访问Pod实例的IP方法变得不再实用。每个工作负载通常有一个或者更多......
  • 基于k8s Deployment的弹性扩缩容及滚动发布机制详解
    k8s第一个重要设计思想:控制器模式。k8s里第一个控制器模式的完整实现:Deployment。它实现了k8s一大重要功能:Pod的“水平扩展/收缩”(horizontalscalingout/in)。该功能从PaaS时代开始就是一个平台级项目必备编排能力。若你更新了Deployment的Pod模板(如修改容器的镜像),则Deployment......
  • 11-K8 Service:轻松搞定服务发现和负载均衡 (copy)
    经过前面几节课的学习,我们已经可以发布高可用的业务了,通过PV持久化地保存数据,通过Deployment或Statefulset这类工作负载来管理多实例,从而保证服务的高可用。想一想,这个时候如果有别的应用来访问我们的服务的话,该怎么办呢?直接访问后端的PodIP吗?不,这里我们还需要做服务发现(S......
  • 【K8S系列】快速初始化⼀个最⼩集群
      序言走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记一级重要蓝色:用来标记二级重要希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流写在前......
  • 【K8S系列】如何高效查看 k8s日志
     序言你只管努力,其他交给时间,时间会证明一切。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点Kubernetes(k8s)是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s日志查看相关方法希望这篇文章......
  • k8s集群Node节点管理:节点信息查看及节点label标签管理
    k8s集群Node节点管理:节点信息查看及节点label标签管理Kubernetes集群Node管理一、查看集群信息[root@k8s-master1~]#kubectlcluster-infoKubernetescontrolplaneisrunningathttps://192.168.10.100:6443CoreDNSisrunningathttps://192.168.10.100:6443/api/v1......
  • 快速掌握服务网格系列二:云原生、K8S、服务网格(Service Mesh)及微服务之间的关系
    快速掌握服务网格系列二:云原生、K8S、服务网格(ServiceMesh)及微服务之间的关系首先看下CNCF对云原生的定义:Cloudnativetechnologiesempowerorganizationstobuildandrunscalableapplicationsinmodern,dynamicenvironmentssuchaspublic,private,andhybridcl......
  • 【Azure App Service】如何来停止 App Service 的高级工具站点 Kudu ?
    问题描述如何来停止AppService的高级工具站点Kudu?kudu介绍Kudu提供了一组面向开发人员的工具和扩展点,用于您的应用服务应用程序.Kudu(AdvancedTools)providesacollectionofdeveloperorientedtoolsandextensibilitypointsforyourAppServiceApps. 问题解答A......