kubernetes入门(简介与基础操作命令)

本专栏均为楼主个人理解,适合于初学者。能够很快帮助0基础的同学快速入门与落地一套k8s环境。
1.为什么使用k8s 在阅读本文章之前,建议了解docker。
在当前软件环境下,即使是很小的公司会使用很多中间件,同时项目也会拆成很多微服务项目。例如楼主的公司,使用了redis,rabbitmq,elk中间件。在项目方面,把业务拆分成了6个微服务项目,同时还使用了在线预览等开源项目。如果楼主使用docker发布,这样初步算下来就需要10多个docker容器。
【kubernetes入门(简介与基础操作命令)】那么问题来了,这么多docker容器,我该如何管理呢,所以k8s应运而生。
结论
k8s作用是对容器的编排与管理,提供了很多功能如:类似部署,扩容,监控,负载均衡,日志记录等。
2.基础概念

  • node:每一台k8s服务器都被称为一台node。
  • deployment:用于控制管理pod。
  • pod:k8s最小的组成部门,可以理解为一个容器,如docker容器。
  • master:k8s的主机,用于管理其他的node。
  • cluster:除了master的其他node都被称为cluster,master可以控制其他的cluster。
    3.k8s的重要组件
  • kubelet:Node 和 Pod 的控制功能。
  • kube-proxy :K8S 运行于每个 Node 上的网络代理组件,用于服务发现和代理相关。
  • kubectl:用于运行Kubernetes集群命令的管理工具。
以上内容了解即可,下文安装时会有提及。
4.k8s常用命令 掌握以下命令,就可以初步操作k8s了。
kubectl get pods --all-namespaces 获取所有命名空间 kubectl delete namespaces kubernetes-dashboard 删除命名空间 kubectl get clusterrolebinding获取clusterrolebinding用户(角色与用户的绑定关系) kubectl delete clusterrolebinding dashboard-admin 删除binding kubectl delete clusterrole删除角色 kubectl get nodes -o yaml获取nodes详细信息 sudo kubectl logs kubernetes-dashboard-6dccb458d5-x7xft --namespace=kubernetes-dashboard systemctl status kubelet 查看kubelet状态 systemctl start kubelet启动kubelet systemctl daemon-reload && systemctl restart kubelet 重启kubelet systemctl daemon-reload && systemctl stop kubelet停止kubelet journalctl -f -u kubelet.service/journalctl -xefu kubelet 查看kubelet日志 kubectl drain nodename --force --ignore-daemonsets --delete-local-data kubectl delete node nodename //去除节点 kubectl create -fxxx.yaml#创建pods 或 services kubectl delete -f xxx.yaml#删除 pods 或 services kubectl delete pods --all --grace-period=0 --force# 删除所有的pods kubectl get services#查看应用被映射到节点的哪个端口 kubectl get pods#查看当前pod删除k8s kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd rm -rf /var/etcd

    推荐阅读