ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:16.59KB ,
资源ID:12865565      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12865565.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(k8s笔记009kubedns部署.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

k8s笔记009kubedns部署.docx

1、k8s笔记009kubedns部署k8s笔记009-kube-dns部署 1. 准备镜像1.1 下载镜像rootharbor # docker pull rootharbor # docker pull rootharbor # docker pull 1.2 对下载的镜像重新打tagrootharbor # docker tag 192.168.1.170/tzg-prod/k8s-dns-dnsmasq-nanny-amd64:1.14.1rootharbor # docker tag 192.168.1.170/tzg-prod/k8s-dns-kube-dns-amd64:1.14.1

2、rootharbor # docker tag 192.168.1.170/tzg-prod/k8s-dns-sidecar-amd64:1.14.11.3 将镜像上传到私有仓库rootharbor # docker push 192.168.1.170/tzg-prod/k8s-dns-dnsmasq-nanny-amd64:1.14.1rootharbor # docker push 192.168.1.170/tzg-prod/k8s-dns-kube-dns-amd64:1.14.1rootharbor # docker push 192.168.1.170/tzg-prod/k8s-

3、dns-sidecar-amd64:1.14.11.4 删除下载的镜像rootharbor # docker rmi rootharbor # docker rmi rootharbor # docker rmi 创建yaml文件2.1 创建ConfigMap文件rootk8s-master01 kubedns# vi kubedns-cm.yaml apiVersion: v1kind: ConfigMapmetadata: name: kube-dns namespace: kube-system labels: addonmanager.kubernetes.io/mode: Ensur

4、eExists2.2 创建Controller Manager文件rootk8s-master01 kubedns# vi kubedns-cm.yaml apiVersion: v1kind: ConfigMapmetadata: name: kube-dns namespace: kube-system labels: addonmanager.kubernetes.io/mode: EnsureExistsrootk8s-master01 kubedns# cat kubedns-controller.yaml apiVersion: extensions/v1beta1kind: De

5、ploymentmetadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: true addonmanager.kubernetes.io/mode: Reconcilespec: strategy: rollingUpdate: maxSurge: 10% maxUnavailable: 0 selector: matchLabels: k8s-app: kube-dns template: metadata: labels: k8s-app:

6、 kube-dns annotations: scheduler.alpha.kubernetes.io/critical-pod: spec: tolerations: - key: CriticalAddonsOnly operator: Exists volumes: - name: kube-dns-config configMap: name: kube-dns optional: true containers: - name: kubedns image: 192.168.1.170/tzg-prod/k8s-dns-kube-dns-amd64:1.14.1 resources

7、: limits: memory: 170Mi requests: cpu: 100m memory: 70Mi livenessProbe: httpGet: path: /healthcheck/kubedns port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 readinessProbe: httpGet: path: /readiness port: 8081 scheme: HTTP initialDelaySeconds

8、: 3 timeoutSeconds: 5 args: - -domain=cluster.local. - -dns-port=10053 - -config-dir=/kube-dns-config - -v=2 env: - name: PROMETHEUS_PORT value: 10055 ports: - containerPort: 10053 name: dns-local protocol: UDP - containerPort: 10053 name: dns-tcp-local protocol: TCP - containerPort: 10055 name: met

9、rics protocol: TCP volumeMounts: - name: kube-dns-config mountPath: /kube-dns-config - name: dnsmasq image: 192.168.1.170/tzg-prod/k8s-dns-dnsmasq-nanny-amd64:1.14.1 livenessProbe: httpGet: path: /healthcheck/dnsmasq port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold

10、: 1 failureThreshold: 5 args: - -v=2 - -logtostderr - -configDir=/etc/k8s/dns/dnsmasq-nany - -restartDnsmasq=true - - - -k - -cache-size=1000 - -log-facility=- - -server=/cluster.local./127.0.0.1#10053 - -server=/in-addr.arpa/127.0.0.1#10053 - -server=/ip6.arpa/127.0.0.1#10053 ports: - containerPort

11、: 53 name: dns protocol: UDP - containerPort: 53 name: dns-tcp protocol: TCP resources: requests: cpu: 150m memory: 20Mi volumeMounts: - name: kube-dns-config mountPath: /etc/k8s/dns/dnsmasq-nanny - name: sidecar image: 192.168.1.170/tzg-prod/k8s-dns-sidecar-amd64:1.14.1 livenessProbe: httpGet: path

12、: /metrics port: 10054 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 args: - -v=2 - -logtostderr - -probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.cluster.local.,5,A - -probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.cluster.local.,5,A ports:

13、- containerPort: 10054 name: metrics protocol: TCP resources: requests: memory: 20Mi cpu: 10m dnsPolicy: Default serviceAccountName: kube-dns2.3 创建ServiceAccount文件rootk8s-master01 kubedns# vi kubedns-sa.yaml apiVersion: v1kind: ServiceAccountmetadata: name: kube-dns namespace: kube-system labels: ku

14、bernetes.io/cluster-service: true addonmanager.kubernetes.io/mode: Reconcile2.4 创建Service文件rootk8s-master01 kubedns# vi kubedns-svc.yaml apiVersion: v1kind: Servicemetadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: true addonmanager.kubernetes.io

15、/mode: Reconcile kubernetes.io/name: KubeDNSspec: selector: k8s-app: kube-dns clusterIP: 169.169.0.2 ports: - name: dns port: 53 protocol: UDP - name: dns-tcp port: 53 protocol: TCP3. 根据yaml文件创建ConfigMap、ControllerManager、ServiceAccount、Service3.1 创建对象 rootk8s-master01 kubedns# lskubedns-cm.yaml kub

16、edns-controller.yaml kubedns-sa.yaml kubedns-svc.yamlrootk8s-master01 kubedns# kubectl create -f .configmap kube-dns createddeployment kube-dns createdserviceaccount kube-dns createdservice kube-dns created3.2 查看Deploymentrootk8s-master01 kubedns# kubectl get deploy -all-namespacesNAMESPACE NAME DES

17、IRED CURRENT UP-TO-DATE AVAILABLE AGEkube-system kube-dns 1 1 1 1 1m3.3 查看Podsrootk8s-master01 kubedns# kubectl get pods -all-namespacesNAMESPACE NAME READY STATUS RESTARTS AGEkube-system kube-dns-1869960205-tng14 3/3 Running 0 55s3.4 查看Servicerootk8s-master01 kubedns# kubectl get svc -namespace=kub

18、e-systemNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGEkube-dns 169.169.0.2 53/UDP,53/TCP 1m3.5 查看ConfigMaprootk8s-master01 kubedns# kubectl get ConfigMap -all-namespacesNAMESPACE NAME DATA AGEkube-system extension-apiserver-authentication 1 4dkube-system kube-dns 0 1m4. 修改kubelet配置(所有节点上都需要操作)4.1 kubelet启动

19、参数增加cluster-dns配置rootk8s-master01 # vi /etc/kubernetes/kubeletKUBELET_ARGS=-api-servers=https:/172.18.0.200:6443 -hostname-override=172.18.0.142 -logtostderr=false -log-dir=/opt/logs/kubernetes -v=2 -allow-privileged=true -kubeconfig=/etc/kubernetes/kubelet-kubeconfig -cgroup-driver=systemd -cluster

20、-dns=169.169.0.2 -cluster-domain=cluster.local.4.2 重启kubeletrootk8s-master01 # systemctl restart kubelet5. 校验kubedns功能5.1 创建一个my-nginx的Deployment文件rootk8s-master01 testkubedns# vim my-nginx-deployment.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata: name: my-nginxspec: replicas: 2 templat

21、e: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports: - containerPort: 805.2 创建Deploymentrootk8s-master01 testkubedns# kubectl create -f ./my-nginx-deployment.yaml deployment my-nginx createdrootk8s-master01 testkubedns# kubectl get deploy my-nginxNAME DESIRED CUR

22、RENT UP-TO-DATE AVAILABLE AGEmy-nginx 2 2 2 2 1m5.3 发布服务rootk8s-master01 testkubedns# kubectl expose deploy my-nginxservice my-nginx exposedrootk8s-master01 testkubedns# kubectl get svc my-nginxNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGEmy-nginx 169.169.255.45 80/TCP 8srootk8s-master01 testkubedns# kube

23、ctl get svc my-nginx -o yamlapiVersion: v1kind: Servicemetadata: creationTimestamp: 2017-09-12T12:41:01Z labels: run: my-nginx name: my-nginx namespace: default resourceVersion: 135846 selfLink: /api/v1/namespaces/default/services/my-nginx uid: a26d00c0-97b7-11e7-8c4a-000c298d23b9spec: clusterIP: 16

24、9.169.255.45 ports: - port: 80 protocol: TCP targetPort: 80 selector: run: my-nginx sessionAffinity: None type: ClusterIPstatus: loadBalancer: 5.4 再创建一个deploymentrootk8s-master01 testkubedns# kubectl run nginx -image=nginxdeployment nginx createdrootk8s-master01 testkubedns# kubectl get podsNAME REA

25、DY STATUS RESTARTS AGEmy-nginx-4293833666-1z7q7 1/1 Running 0 3mmy-nginx-4293833666-37mcr 1/1 Running 0 3mnginx-4217019353-8gq4f 1/1 Running 0 5s5.5 拷贝ping命令及相关lib库到新启动的nginx pod中rootk8s-master01 testkubedns# kubectl cp /usr/bin/ping nginx-4217019353-whx5b:/usr/bin/rootk8s-master01 testkubedns# kube

26、ctl cp /usr/lib64/libcap.so.2 nginx-4217019353-whx5b:/usr/lib/rootk8s-master01 testkubedns# kubectl cp /usr/lib64/libidn.so.11 nginx-4217019353-whx5b:/usr/lib/rootk8s-master01 testkubedns# kubectl cp /usr/lib64/libcrypto.so.10 nginx-4217019353-whx5b:/usr/lib/5.5 进入新启动的nginx pod中,然后ping之前创建的my-nginx服务,看是否能正常解析到dns地址rootk8s-master01 testkubedns# kubectl exec nginx-4217019353-whx5b -ti - /bin/bashrootnginx-4217019353-whx5b:/# ping my-nginxPING my-nginx.default.svc.cluster.local (169.169.255.45) 56(84) bytes of data.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1