本專欄均為樓主個人理解,適合于初學者,能夠很快幫助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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317757.html
標籤:其他
上一篇:Linux-shell編程入門
