远行的心 发表于 2018-1-5 09:29:41

上手 Kubernetes

  一。Kubernetes架构
https://images2017.cnblogs.com/blog/75896/201711/75896-20171107223526559-1172152887.png
  二。重要的几个概念
  1.Pod:最小单元
  1.1 一个Pod里可以有多个Container
  1.2这些container共享这个pod的同一个网络地址,同一个文件系统,通过127.0.0.1互访等
  1.3彼此间访问速度快,而且生命周期是同步的
  2.service:
  3.label:
  4.deployment:
  4.1 创建副本,取代了rc
  4.2 整合了灰度发布,暂停,恢复发布
  4.3 整合了故障自愈
  4.4 新增了回滚
  。。。
  deployment --> replicaset --> pod
  三。安装
  四。使用
  (一) 创建deployment及pod
  1. 创建一个deployment:
  kubectl run nginx --image=nginx:1.11.4-alpine
  2. 删除一个deployment:
  kubectl delete deployment nginx
  3. 查看创建的deployment:
  kubectl get deployment nginx
  4. 查看deployment的详细信息
  kubectl describe deployment nginx
  5. 查看pod:
  kubectl get pod
  kubectl get pod -o wide
  6. 查看pod日志
  kubectl logs xxx
  7.进入pod里查看
  kubectl exec -it xxx /bin/bash
  (二) 创建service
  方法一:
  1.touch nginx.svc.yaml
  2. vim nginx.svc.yaml
https://images2017.cnblogs.com/blog/75896/201711/75896-20171107214451309-355191096.png
  yaml文件的格式:同一层级字段要对其,前面个空格多少五所谓,但空格的数量一定是一样的。
  3. kubectl create -f nginx.svc.yaml
  4. 查看创建的service:
  kubectl get svc
  5. 查看路由到endpoint上情况:
  kubectl get ep
  方法二:
  kubectl expose nginx --type=NodePort --name=nginx-expose --port=80
https://images2017.cnblogs.com/blog/75896/201711/75896-20171107224200653-22489216.png
  删除一个sevice
  kubectl delete svc nginx-expose
  (三)扩展Deployment及Pod的数量:
  1. 扩展命令:
  kubectl scale deploy nginx --replicas=3
  2. 查看扩展的情况:
  kubectl get deploy nginx
  kubectl describe deploy nginx
  kuberctl get rs
  kuberctl get pod
https://images2017.cnblogs.com/blog/75896/201711/75896-20171107224002309-936435470.png
  3. 查看service路由的情况:
https://images2017.cnblogs.com/blog/75896/201711/75896-20171107224059684-1549951372.png
  (四)灰度发布及回滚
  1. 版本升级:
  kubectl set image deploy nginx nginx=nginx:1.7.9
  2. 查看升级过程:
  kubectl rollout status deploy nginx
  kubectl describe deploy nginx
  3. 查看history:
  3.1 查看所有的history: kubectl rollout history deploy nginx
  3.2 查看某个history的详细信息:kubectl rollout history deploy nginx --revision=2
  4. 查看新老replicaset:
  kubectl get rs
  5. 发布异常时的追踪:
  5.1 查看发布历史:kubectl rollout history deploy nginx
  5.2 查看有问题的发布版本:kubectl rollout history deploy nginx --revision=2
  5.3 查看rs: kubectl get rs
  5.4 查看详细的rs: kubectl describe rs nginx-xxx
  5.5 查看rs创建的pod: kubectl get pod
  5.6 查看pod的详细信息: kubectl describe pod nginx-xxx-yyyy
  6.回滚:
  kubectl rollout undo deploy nginx
  7.删除一个pod:
  kubectl delete pod nginx-xxx-yyyy
页: [1]
查看完整版本: 上手 Kubernetes