关于后端:kubernetes入门简介与基础操作命令

40次阅读

共计 1744 个字符,预计需要花费 5 分钟才能阅读完成。

本专栏均为楼主集体了解,适宜于初学者。可能很快帮忙 0 根底的同学疾速入门与落地一套 k8s 环境。

1. 为什么应用 k8s

在浏览本文章之前,倡议理解 docker。
在以后软件环境下,即便是很小的公司会应用很多中间件,同时我的项目也会拆成很多微服务项目。例如楼主的公司,应用了 redis,rabbitmq,elk 中间件。在我的项目方面,把业务拆分成了 6 个微服务项目,同时还应用了在线预览等开源我的项目。 如果楼主应用 docker 公布,这样初步算下来就须要 10 多个 docker 容器。

那么问题来了,这么多 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 -f  xxx.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

正文完
 0