K8S 之 Coredns安装与理解
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,一、Coredns作用重点:通过coredns 通过service名称,解释到相应的cluter集群IP二、Coredns安装(以容器搭建服务)1、在运维主机上搭建一个HTTP服务存放yaml文件~]
千家信息网最后更新 2025年02月03日K8S 之 Coredns安装与理解
一、Coredns作用
重点:通过coredns 通过service名称,解释到相应的cluter集群IP
二、Coredns安装(以容器搭建服务)
1、在运维主机上搭建一个HTTP服务存放yaml文件
~]# cd /etc/nginx/conf.d/conf.d]# vi /etc/nginx/conf.d/k8s-yaml.od.com.confserver { listen 80; server_name k8s-yaml.od.com; location / { autoindex on; default_type text/plain; root /data/k8s-yaml; }}conf.d]# mkdir /data/k8s-yamlconf.d]# nginx -tconf.d]# nginx -s reloadconf.d]# cd /data/k8s-yaml/k8s-yaml]# mkdir coredns
2、创建四个yaml文件,用于coredns容器创建
[root@test-operator coredns]# cat rbac.yaml apiVersion: v1kind: ServiceAccountmetadata: name: coredns namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: labels: kubernetes.io/bootstrapping: rbac-defaults addonmanager.kubernetes.io/mode: Reconcile name: system:corednsrules:- apiGroups: - "" resources: - endpoints - services - pods - namespaces verbs: - list - watch---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "true" labels: kubernetes.io/bootstrapping: rbac-defaults addonmanager.kubernetes.io/mode: EnsureExists name: system:corednsroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:corednssubjects:- kind: ServiceAccount name: coredns namespace: kube-system-----------------------------------------------------------------------------------------------[root@test-operator coredns]# cat cm.yamlapiVersion: v1kind: ConfigMapmetadata: name: coredns namespace: kube-systemdata: Corefile: | .:53 { errors log health ready kubernetes cluster.local 192.168.0.0/16 forward . 10.3.151.13 cache 30 loop reload loadbalance }-----------------------------------------------------------------------------------------------[root@test-operator coredns]# cat dp.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: coredns namespace: kube-system labels: k8s-app: coredns kubernetes.io/name: "CoreDNS"spec: replicas: 1 selector: matchLabels: k8s-app: coredns template: metadata: labels: k8s-app: coredns spec: priorityClassName: system-cluster-critical serviceAccountName: coredns containers: - name: coredns image: test-harbor.cedarhd.com/public/coredns:v1.6.1 args: - -conf - /etc/coredns/Corefile volumeMounts: - name: config-volume mountPath: /etc/coredns ports: - containerPort: 53 name: dns protocol: UDP - containerPort: 53 name: dns-tcp protocol: TCP - containerPort: 9153 name: metrics protocol: TCP livenessProbe: httpGet: path: /health port: 8080 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 dnsPolicy: Default volumes: - name: config-volume configMap: name: coredns items: - key: Corefile path: Corefile-----------------------------------------------------------------------------------------------[root@test-operator coredns]# cat svc.yaml apiVersion: v1kind: Servicemetadata: name: coredns namespace: kube-system labels: k8s-app: coredns kubernetes.io/cluster-service: "true" kubernetes.io/name: "CoreDNS"spec: selector: k8s-app: coredns clusterIP: 192.168.0.2 ports: - name: dns port: 53 protocol: UDP - name: dns-tcp port: 53 - name: metrics port: 9153 protocol: TCP
3、在其中一个节点服务器运行coredns(安装成功)
[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/coredns/rbac.yamlserviceaccount/coredns createdclusterrole.rbac.authorization.k8s.io/system:coredns createdclusterrolebinding.rbac.authorization.k8s.io/system:coredns created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/coredns/cm.yamlconfigmap/coredns created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/coredns/dp.yamldeployment.apps/coredns created[root@test-nodes1 ~]# kubectl apply -f http://k8s-yaml.cedarhd.com/coredns/svc.yamlservice/coredns created[root@test-nodes1 ~]# kubectl get all -n kube-systemNAME READY STATUS RESTARTS AGEpod/coredns-6c69fbcc6c-6vqgr 1/1 Running 0 35sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/coredns ClusterIP 192.168.0.2 53/UDP,53/TCP,9153/TCP 14sNAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/coredns 1/1 1 1 36sNAME DESIRED CURRENT READY AGEreplicaset.apps/coredns-6c69fbcc6c 1 1 1 36s
三、使用场景描述
1、创建一个新的svc资源[root@test-nodes1 ~]# kubectl create deployment nginx-test --image=test-harbor.cedarhd.com/public/nginx:v1.7.9deployment.apps/nginx-test created[root@test-nodes1 ~]# kubectl get all NAME READY STATUS RESTARTS AGEpod/nginx-test-5674474869-c4mzx 1/1 Running 0 5sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/kubernetes ClusterIP 192.168.0.1 443/TCP 8hNAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/nginx-test 1/1 1 1 5sNAME DESIRED CURRENT READY AGEreplicaset.apps/nginx-test-5674474869 1 1 1 5s[root@test-nodes1 ~]# kubectl expose deployment nginx-test --port=80service/nginx-test exposed[root@test-nodes1 ~]# kubectl get allNAME READY STATUS RESTARTS AGEpod/nginx-test-5674474869-c4mzx 1/1 Running 0 42sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/kubernetes ClusterIP 192.168.0.1 443/TCP 8hservice/nginx-test ClusterIP 192.168.109.13 80/TCP 8s #创建svc为nginx-test 对应的cluterip为192.168.109.13NAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/nginx-test 1/1 1 1 42sNAME DESIRED CURRENT READY AGEreplicaset.apps/nginx-test-5674474869 1 1 1 42s2、进入其中一个容器查看解释效果[root@test-nodes2 ~]# kubectl get pods -n kube-publicNAME READY STATUS RESTARTS AGEnginx-ds-dk9hf 1/1 Running 0 3h53mnginx-ds-m6v9q 1/1 Running 0 3h53m[root@test-nodes2 ~]# kubectl exec -ti nginx-ds-dk9hf /bin/bash -n kube-publicPING nginx-test.default.svc.cluster.local (192.168.109.13) 56(84) bytes of data.64 bytes from nginx-test.default.svc.cluster.local (192.168.109.13): icmp_seq=1 ttl=64 time=0.070 ms64 bytes from nginx-test.default.svc.cluster.local (192.168.109.13): icmp_seq=2 ttl=64 time=0.077 ms#nginx-test.default defalut(容器所在的空间,必须加)
容器
服务
文件
解释
成功
主机
作用
名称
场景
所在
效果
服务器
空间
节点
资源
重点
集群
建四
运行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
操作sqlite数据库
php存时间到数据库
wto数据库中农产品统计口径
华夏恒生互联网科技业基金
服务器网卡功能开放
投屏时电视显示连接服务器失败
物联网lwip并发服务器
汽车租赁数据库sql
兼修网络安全
软件开发公司招新人
数据库返回字符串大写
网络安全不包括
网络安全用蒙语怎么说
网络安全手知识手抄报
安徽天赢网络技术有限公司
双十一数据库
服务器如何检查木马
互联网农业科技中心简介
类似菜鸟驿站软件开发
河北土地资产管理软件开发
网络安全主题宣传周活动
java连接数据库放哪儿
云服务器的安装购买费用
辽宁潮流软件开发服务以客为尊
气象软件开发招标信息
辽阳软件开发服务
轻量应用服务器可以搭网站嘛
传统数据库的acid特性
网络安全管理员证书借给朋友
如何跨数据库应用数据