`
crabdave
  • 浏览: 1295155 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Kubernetes扩展插件 Cluster DNS安装

 
阅读更多

Kubernetes扩展插件 Cluster DNS安装

 

回到master机器 10.99.0.10

 

skydns配置文件所在目录(本例子使用getting-started-guides目录下的文件)

[root@vultr ~]# find -name *skydns*

./kubernetes/cluster/libvirt-coreos/skydns-rc.yaml

./kubernetes/cluster/libvirt-coreos/skydns-svc.yaml

./kubernetes/cluster/gce/coreos/kube-manifests/addons/dns/skydns-rc.yaml

./kubernetes/cluster/gce/coreos/kube-manifests/addons/dns/skydns-svc.yaml

./kubernetes/cluster/juju/layers/kubernetes/templates/skydns-rc.yml

./kubernetes/cluster/juju/layers/kubernetes/templates/skydns-svc.yml

./kubernetes/docs/getting-started-guides/coreos/azure/addons/skydns-rc.yaml

./kubernetes/docs/getting-started-guides/coreos/azure/addons/skydns-svc.yaml

 

创建一个工作目录

cd ~/kubernetes/docs/getting-started-guides/coreos/azure/addons/

mkdir -p ~/workspace/skydns

cp skydns-* ~/workspace/skydns/

cd ~/workspace/skydns

ls -l

 

修改skydns-rc.yaml 和 skydns-svc.yaml        

 

sed -i "s/replicas: 3/replicas: 1/" skydns-rc.yaml

 

sed -i "s/kube.local/cluster.local/" skydns-rc.yaml

sed -i "s/kube-00/10.99.0.10/" skydns-rc.yaml

 

sed -i "s/localhost/127.0.0.1/" skydns-rc.yaml

sed -i "s/kube.local/cluster.local./" skydns-rc.yaml

 

sed -i "s/kubernetes.default.svc.kube.local/kubernetes.default.svc.cluster.local/" skydns-rc.yaml

 

sed -i "s/10.16.0.3/172.16.66.66/" skydns-svc.yaml

 

 

创建Kubernetes DNS

[root@vultr skydns]#kubectl create -f skydns-rc.yaml

replicationcontroller "kube-dns-v9" created

 

[root@vultr skydns]# kubectl get pod --selector k8s-app=kube-dns --namespace=kube-system

NAME                READY     STATUS    RESTARTS   AGE

kube-dns-v9-hgnfh   4/4       Running   0          16s

 

[root@vultr skydns]# kubectl create -f skydns-svc.yaml

kubectl get service -l k8s-app=kube-dns --namespace=kube-systemservice "kube-dns" created

[root@vultr skydns]# kubectl get service -l k8s-app=kube-dns --namespace=kube-system

NAME       CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE

kube-dns   172.16.66.66   <none>        53/UDP,53/TCP   2s

 

 

kubectl cluster-info

返回结果

Kubernetes master is running at http://localhost:8080

KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns

 

实际上访问

http://master机器IP:8080/api/v1/namespaces/kube-system/services/kube-dns

可以看到详细信息

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "kube-dns",
    "namespace": "kube-system",
    "selfLink": "/api/v1/namespaces/kube-system/services/kube-dns",
    ... ...

 

 

修改各节点机器上的kubelet配置

vi /etc/sysconfig/kubelet

--cluster-dns=172.16.66.66

--cluster-domain=cluster.local

 

重启节点机器上的kubelet

systemctl restart kubelet

systemctl status -l kubelet

 

创建一个测试pod

echo "  apiVersion: v1

  kind: ReplicationController

  metadata:

      name: tomcat

  spec:

    replicas: 1

    template:

      metadata:

        labels:

          app: tomcat

      spec:

        containers:

          - name: tomcat

            image: tomcat" > tomcat.yaml

 

cat tomcat.yaml

 

kubectl --server=10.99.0.10:8080 create -f tomcat.yaml 

kubectl get pod

 

进入到pod中的第一个容器

kubectl exec tomcat-4d33v -i -t -- bash

查看DNS

cat /etc/resolv.conf

 

search default.svc.cluster.local svc.cluster.local cluster.local

nameserver 172.16.66.66

options ndots:5

 

之前创建的pod DNS未改变,需要删除之后重建

kubectl --server=10.99.0.10:8080 delete -f test-1.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-2.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-3.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-4.yaml 

 

kubectl --server=10.99.0.10:8080 create -f test-1.yaml  

kubectl --server=10.99.0.10:8080 create -f test-2.yaml 

kubectl --server=10.99.0.10:8080 create -f test-3.yaml 

kubectl --server=10.99.0.10:8080 create -f test-4.yaml 

 

kubectl --server=10.99.0.10:8080 get pods

 

进入test-1-cqc6p点的第一个容器查看DNS

kubectl exec test-1-cqc6p -i -t -- bash

cat /etc/resolv.conf

 

search default.svc.cluster.local svc.cluster.local cluster.local

nameserver 172.16.66.66

options ndots:5

 

expose 创建tomcat service

kubectl expose replicationcontroller tomcat --port=8080 --target-port=8099 

 

 

分享到:
评论

相关推荐

    kubernetes-rabbitmq-cluster:适用于kubernetes的可部署的Rabbitmq集群

    总结来说,"kubernetes-rabbitmq-cluster"项目提供了一个在Kubernetes中部署和管理RabbitMQ集群的有效方法,利用了Kubernetes的强大力量,实现了RabbitMQ服务的高可用性和可扩展性。通过学习和实践这个项目,开发者...

    Kubernetes 指南.pdf

    **API扩展和网络插件** 1. **API Aggregation**: 允许扩展Kubernetes API服务器,添加自定义资源。 2. **CustomResourceDefinition (CRD)**: 定义和管理自定义资源。 3. **Network Plugins (CNI)**: 如Flannel、...

    coredns.rar

    1. **安装CoreDNS**:介绍如何使用Kubernetes的YAML文件或Helm图表来部署CoreDNS,通常将其作为ClusterIssuer资源部署到`kube-system`命名空间。 2. **配置CoreDNS**:解释如何修改CoreDNS的配置,例如设置转发策略...

    K8S安装指南

    接下来,我们将讨论“k8s入门系列之扩展组件(一)DNS安装篇”。DNS(Domain Name System)是Kubernetes集群中的关键组件,它允许Pods通过服务名而非IP地址互相发现。Kubernetes内置了一个名为CoreDNS的DNS服务器,它...

    Kubernetes核心原理介绍.pdf

    * 核心层:Kubernetes 最核心的功能,对外提供 API 构建高层的应用,对内提供插件式应用执行环境 * 应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS 解析等) * 管理层:系统...

    kubernetes培训PPT

    Kubernetes,通常缩写为k8s,是一种流行的开源容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。这份“kubernetes培训PPT”提供了深入理解Kubernetes架构、核心概念以及实践操作的关键知识点。 1. **...

    使用kubernetes部署ELK日志系统

    配置可能涉及输入插件(如从Kubernetes API Server或syslog获取日志)、过滤器插件(如解析JSON格式的日志)和输出插件(如将处理后的日志发送到Elasticsearch)。 最后,`kibana.yaml` 文件是用来部署Kibana的,...

    Kubernetes部署指南.docx

    Kubernetes,简称K8s,是一个开源的容器编排系统,用于自动化容器化的应用程序部署、扩展和管理。本指南主要涵盖了Kubernetes集群的部署方法,包括了从基础环境准备到各个组件的详细配置。以下将详细阐述关键知识点...

    37 找到容器不容易:Service、DNS与服务发现.pdf

    Kubernetes集群内置了一个DNS插件,使得Pod可以通过名称而不是IP地址来查找Service。每个Pod的DNS配置会自动包含集群DNS服务器的信息,Pod内的应用可以像查询常规域名一样查询Service的名称。例如,如果Service的...

    kubernetes入门及简单使用

    Kubernetes还支持多种扩展插件,例如DNS为服务提供域名解析,Dashboard提供图形界面管理,以及Cluster-level Logging提供集群日志分析。 在Kubernetes中,Pod是最小的部署单位,每个Pod代表一个逻辑主机,拥有自己...

    kubernetes整理知识点.pdf

    Kubernetes 支持多种 Container Runtime,如 Docker 和 rkt,通过 CNI(Container Network Interface)插件来实现网络隔离,如 Flannel、Calico 和 Weave,提供不同的网络策略。此外,还有附加组件如 CoreDNS 用于...

    大规模业务Kubernetes集群托管实践.pdf

    LKS Cluster Operator不仅负责集群的基本操作,如创建、删除、添加和移除节点,还涵盖了集群插件管理、版本更新和BUG修复。此外,它还提供了一系列增值服务,如应用访问服务、性能数据管理和配置管理服务,以及AIOps...

    k8sv1.20.2联网安装步骤.rar

    3. **安装前准备**:在开始安装前,确保所有节点之间可以互相通信,并且已经正确配置了DNS。同时,需要在所有节点上安装Docker或容器运行时环境,以及kubelet、kube-proxy和kube-controller-manager等Kubernetes组件...

    Kubernetes架构权威指南.pdf

    - **Cluster Autoscaler**:自动扩展集群大小。 - **ip-masq-agent**:IP地址转换代理。 - **Kubernetes-The-Hard-Way**:一种手动构建Kubernetes集群的方法。 #### 六、插件扩展 - **API扩展**:通过聚合或...

    k8s-v1.8.13安装学习记录

    此外,本文档还涉及到了一些常用的 Kubernetes 插件,例如 kubedns、dashboard、heapster (influxdb、grafana)、EFK (elasticsearch、fluentd、kibana),这些插件能够帮助用户更好地监控、管理和操作 Kubernetes ...

    Kubernetes网络的应用场景分析.pdf

    Pod可以通过Service的DNS名称或ClusterIP与之通信,即使Service背后的Pod成员发生变化,通信依然可用。 4. **外部到内部的访问** 外部系统要访问Kubernetes集群内的服务,通常有两种方式:通过NodePort或Load...

    k8s安装文档和系统间集成ppt

    Kubernetes(简称K8s)是目前最流行的容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。本文将围绕“k8s集群安装文档”和“K8S的Service实现以及系统间集成”的主题,深入探讨Kubernetes的基础知识、安装...

Global site tag (gtag.js) - Google Analytics