Kubernetes的ExternalName详解

简介: ExternalName类型的Service在Kubernetes中用于将外部服务(不是Kubernetes集群内的服务)映射到Kubernetes集群内的Service。# 样例其创建方法如下:```kind: ServiceapiVersion: v1metadata: name: my-external-service namespace: cv-console-dev labels: app: my-external-service annotations: kubesphere.io/creator: sunjq kubesph

ExternalName类型的Service在Kubernetes中用于将外部服务(不是Kubernetes集群内的服务)映射到Kubernetes集群内的Service。

样例

其创建方法如下:

kind: Service
apiVersion: v1
metadata:
  name: my-external-service
  namespace: cv-console-dev
  labels:
    app: my-external-service
  annotations:
    kubesphere.io/creator: sunjq
    kubesphere.io/serviceType: externalservice
spec:
  type: ExternalName
  sessionAffinity: None
  externalName: www.httpclient.cn
AI 代码解读

在上述配置中,我们创建了一个名为my-external-service的Service,其类型为ExternalName,并将www.httpclient.cn映射到该Service。这就相当于在Kubernetes集群内部创建了一个别名,可以通过访问my-external-service来访问www.httpclient.cn。

需要注意的是,使用ExternalName类型的Service需要确保目标外部服务已经存在,并且可以通过域名进行访问。

测试过程

root@5c856df78-5ml9f:/# curl -k  test-ex.cv-console-dev -vvv
*   Trying 47.244.242.115:80...
* Connected to test-ex.cv-console-dev (47.244.242.115) port 80 (#0)     ---------------------外部的域名对应的ip
> GET / HTTP/1.1
> Host: test-ex.cv-console-dev
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx/1.15.12
< Date: Thu, 31 Aug 2023 08:49:05 GMT
< Content-Type: text/html
< Content-Length: 612
< Last-Modified: Fri, 21 Jun 2019 06:42:16 GMT
< Connection: keep-alive
< ETag: "5d0c7c48-264"
< Accept-Ranges: bytes
<
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
* Connection #0 to host test-ex.cv-console-dev left intact
AI 代码解读
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
0
149
分享
相关文章
Kubernetes的应用
Kubernetes的应用
94 0
Kubernetes介绍篇:是什么?为什么要用?
是时候该学习Kubernetes了,不然都不敢说自己了解容器、了解Docker。
1351 0
Kubernetes介绍篇:是什么?为什么要用?
Kubernetes 是什么?
Kubernetes 是什么?
66 1
Kubernetes
Kubernetes 版 ACK(Alibaba Cloud Container Service for Kubernetes)是阿里云提供的一种容器服务,它基于 Kubernetes 开源容器编排平台,为用户提供高效、可扩展的容器应用管理能力。ACK 可以帮助用户在云端轻松部署、管理和扩展容器化应用,同时提供了丰富的 Kubernetes 功能,例如自动扩展、滚动更新、负载均衡等。
107 1
带你一分钟看懂 “kubernetes”
从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“K8s”,它是通过将 8 个字母“ubernete ”替换为“8”而导致的一个缩写。
191 2
Kubernetes-k8s
Kubernetes(通常简称为"k8s")是一种开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由Google开发,并于2014年发布为开源项目,目前由云原生计算基金会(CNCF)管理和维护。
137 1
Kubernetes 之 Egress 思考
“网络周边安全”是任何一个企业运维团队所必须关注的重点。当我们谈到网络界面控制时,我们往往潜意识地先会想到入站安全(入口)。然而,基于流量的运作,例如,何时可以离开网络(出口)以及流向哪里同样至关重要。在这篇文章中,我们将不深入讨论为什么控制出口流量如此重要的理论细节,毕竟,前人已经说的口都干了。因此,本文仅从技术演进层面来探讨关于在云原生生态中“出口”的选型及实现场景。
250 0
Kubernetes-Kuboard
Kuboard 是一款免费的 Kubernetes 管理工具,提供了丰富的功能,结合已有或新建的代码仓库、镜像仓库、CI/CD工具等,可以便捷的搭建一个生产可用的 Kubernetes 容器云平台,轻松管理和运行云原生应用。您也可以直接将 Kuboard 安装到现有的 Kubernetes 集群,通过 Kuboard 提供的 Kubernetes RBAC 管理界面,将 Kubernetes 提供的能力开放给您的开发/测试团队。
什么是 Kubernetes
什么是 Kubernetes
196 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等