|NO.Z.00160|——————————|CloudNative|——|KuberNetes&服务发布.V11|——|service.v03|service反代域名|

一、使用Service反代域名
### --- 创建service反代域名yaml配置文件
~~~     书写反代域名的yaml文件
~~~     需要改成反代的域名

[root@k8s-master01 ~]# vim nginx-externalName.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-externalname
  name: nginx-externalname
spec:
  type: ExternalName
  externalName: www.baidu.com    
二、创建service反代域名的pod
### --- 重新触发service反代域名的pod

[root@k8s-master01 ~]# kubectl apply -f nginx-externalName.yaml 
service/nginx-externalname created
### --- 查看创建的service
~~~     创建成功,但是它是没有clusterIP的,但是我们怎么去访问到它呢?
~~~     通过之前创建的busybox

[root@k8s-master01 ~]# kubectl get svc
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)          AGE
kubernetes           ClusterIP      10.96.0.1       <none>          443/TCP          11d
nginx-externalname   ExternalName   <none>          www.baidu.com   <none>           4s 
三、验证service反代域名
### --- 查看创建的pod

[root@k8s-master01 ~]# kubectl get po
NAME                     READY   STATUS    RESTARTS   AGE
busybox                  1/1     Running   15         39h
### --- 进入容器中

[root@k8s-master01 ~]# kubectl exec -ti busybox -- sh
### --- 解析这个地址nginx-externalname

/ # wget nginx-externalname
Connecting to nginx-externalname (180.101.49.11:80)
wget: server returned error: HTTP/1.1 403 Forbidden     // 可以看到它是403的返回值
/ # nslookup nginx-externalname
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      nginx-externalname
Address 1: 180.101.49.11                                // 可以看到它提返回了2个IP地址
Address 2: 180.101.49.12
/ # wget 180.101.49.11
Connecting to 180.101.49.11 (180.101.49.11:80)
index.html           100% |*************************************************************************************************************************************|  2381   0:00:00 ETA
### --- 通过百度的IP地址是可以访问的,为什么我们通过service的名称是不可以访问的呢?
~~~     我们这边请求了http://nginx-externalname这个域名,这个域名有反代到www.baidu.com,
~~~     这就是一个跨域的现象,跨域被百度给拒绝了;
~~~     不能去访问,报错403,在使用的时候一定要考虑跨域的现象。

[root@k8s-master01 ~]# kubectl exec -ti busybox -- sh
/ # wget http://nginx-externalname
Connecting to nginx-externalname (180.101.49.11:80)
wget: server returned error: HTTP/1.1 403 Forbidden

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(30)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示