zoukankan      html  css  js  c++  java
  • centos7下kubernetes(14。kubernetes-DNS访问service)

    我们在部署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 才能访问到

  • 相关阅读:
    Android开发
    Android随笔
    Android开发
    宁波大学NBU计算机大三下册期末考试
    2021浙江省大学生程序设计竞赛D题 Shortest Path Query(最短路+思维)
    NWERC 2020A Atomic Energy(背包+思维)
    CF1454E Number of Simple Paths(容斥+基环树)
    CF549F(分治+启发式合并)
    HDU5293 Tree chain problem (LCA+树链剖分+线段树)
    HDU156 The more, The Better(dp+背包)
  • 原文地址:https://www.cnblogs.com/lkun/p/9835930.html
Copyright © 2011-2022 走看看