KUBERNETES04_Service服务ClusterIP、NodePort方式、Ingress域名访问、路径重写、限流操作(一)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
.cn 域名,1个 12个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: KUBERNETES04_Service服务ClusterIP、NodePort方式、Ingress域名访问、路径重写、限流操作(一)

①. Service服务发现ClusterIP方式



  • ②. 有三个pods实例的nginx,进入到容器内部,对默认页面进行如下操作


cd /usr/share/nginx
echo "hello 111"->index.html
echo "hello 222"->index.html
echo "hello 333"->index.html


微信图片_20220109220010.png


微信图片_20220109220015.png


③. 隐藏pod的端口和ip,暴露serviceip和端口,在集群内部进行访问


# 和下面命令等价kubectl expose deploy my-dep-01 --port=8000 --target-port=80 --type=ClusterIP
[root@k8smaster ~]# kubectl expose deployment my-dep-01 --port=8000 --target-port=80
[root@k8smaster ~]# kubectl get service
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP    7d15h
my-dep-01    ClusterIP   10.96.170.26   <none>        8000/TCP   2m12s
[root@k8smaster ~]# curl 10.96.170.26:8000
hello 111-
[root@k8smaster ~]# curl 10.96.170.26:8000
hello 222-
[root@k8smaster ~]# curl 10.96.170.26:8000
hello 111-
[root@k8smaster ~]# curl 10.96.170.26:8000
hello 333-
[root@k8smaster ~]# curl 10.96.170.26:8000


微信图片_20220109220058.png


④. 如果说这个时候我们创部署一个前端的项目,前端项目可以通过域名的方式进行访问

curl my-dep-01.default.svc:8000 (注意不能在浏览器中访问,也不能在集群不进入容器的方式进行访问)


微信图片_20220109220119.png


⑤. 通过yaml文件配置Service

app: my-dep-01通过如下命令查询到的


[root@k8smaster ~]# kubectl get pod --show-labels
NAME                        READY   STATUS    RESTARTS   AGE   LABELS
my-dep-01-686cfb7bf-b2vbl   1/1     Running   0          55m   k8s-app=my-dep-01,pod-template-hash=686cfb7bf
my-dep-01-686cfb7bf-f9wdc   1/1     Running   0          55m   k8s-app=my-dep-01,pod-template-hash=686cfb7bf
my-dep-01-686cfb7bf-jdhqh   1/1     Running   0          55m   k8s-app=my-dep-01,pod-template-hash=686cfb7bf


apiVersion: v1
kind: Service
metadata:
  labels:
    app: my-dep
  name: my-dep
spec:
  selector:
    app: my-dep-01
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 80
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
Kubernetes 容器
K8S的Service的LoadBanlance之Metallb解决方案
本文介绍了如何在Kubernetes中使用MetalLB来实现Service的LoadBalancer功能,包括MetalLB的部署、配置、以及通过创建地址池和部署服务来测试MetalLB的过程。
121 1
K8S的Service的LoadBanlance之Metallb解决方案
|
3月前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
20天前
|
域名解析 网络协议 前端开发
浏览器输入域名网址访问后的过程详解
1、以91处理网为例,客户端浏览器通过DNS解析到www.91chuli.com,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
27 2
|
1月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
28 1
|
1月前
|
Kubernetes 负载均衡 应用服务中间件
k8s学习--ingress详细解释与应用(nginx ingress controller))
k8s学习--ingress详细解释与应用(nginx ingress controller))
163 0
|
30天前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
2月前
|
Kubernetes 应用服务中间件 nginx
Kubernetes上安装Metallb和Ingress并部署应用程序
Kubernetes上安装Metallb和Ingress并部署nginx应用程序,使用LoadBalancer类型的KubernetesService
155 8
|
2月前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
2月前
|
PHP
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
|
1月前
|
缓存 Kubernetes 负载均衡
在K8S中,ingress 有何作用?
在K8S中,ingress 有何作用?