码迷,mamicode.com
首页 > Web开发 > 详细

centos7下kubernetes(14。kubernetes-DNS访问service)

时间:2018-10-23 14:42:06      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:service   验证   --   不同   mes   ica   图片   color   name   

我们在部署kubernetes时,会自动部署dns组件,其作用是通过dns解析的方法访问service

技术分享图片

coredns是一个DNS服务器,每当有新的service被创建,kube-dns会添加该service的dns记录。cluster中的pod可以通过{service_name.namespace_name:port}访问service

比如我们接着上一个实验,通过httpd-svc.default访问service httpd-svc

技术分享图片

我们在一个临时的pod里面验证了DNS的有效性。

这个临时的pod与httpd-svc同属于一个default namespace,可以忽略default直接用httpd-svc访问service

技术分享图片

 

 

要访问其他的namespace中的service,就必须带上namespace了

  kubectl get namespace  查看已有的namespace

技术分享图片

在 kube-public 中部署 Service httpd2-svc,配置如下

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: httpd2
  namespace: kube-public
spec:
  replicas: 3
  template:
    metadata:
      labels:
        run: httpd2
    spec:
      containers:
      - name: httpd2
        image: httpd
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: httpd2-svc
  namespace: kube-public
spec:
  selector:
    run: httpd2
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 80

技术分享图片

通过namespace:kube-public指定资源所属namespace。

多个资源可以在同一个yml文件中定义,用    ---    分割。

创建资源 kubectl apply -f httpd2.yml

技术分享图片

一定要注意yml文件的格式,一个字母都不能错

 

查看kube-public的service

kubectl get service --namespace=kube-public

技术分享图片

现在在临时的pod中访问httpd2-svc

技术分享图片

技术分享图片

因为同属于不同namespace,所以必须使用httpd2-svc.kube-public 才能访问到

 

centos7下kubernetes(14。kubernetes-DNS访问service)

标签:service   验证   --   不同   mes   ica   图片   color   name   

原文地址:https://www.cnblogs.com/lkun/p/9835930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!