kubernetes简介与基础操作命令

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: kubernetes简介与基础操作命令


image.png

本专栏均为楼主个人理解,适合于初学者。能够很快帮助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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
5月前
|
SQL 数据库 索引
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
|
5月前
|
前端开发 编解码 数据格式
浅谈响应式编程在企业级前端应用 UI 开发中的实践
浅谈响应式编程在企业级前端应用 UI 开发中的实践
浅谈响应式编程在企业级前端应用 UI 开发中的实践
|
5月前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
1431 0
|
5月前
|
Kubernetes 应用服务中间件 API
Kubernetes(K8S)命令指南
Kubernetes(K8S)命令指南
196 0
|
5月前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
81 3
|
5月前
|
iOS开发 MacOS Windows
|
2月前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
2月前
|
Kubernetes Docker 容器
Kubernetes(K8S) 常用命令
Kubernetes(K8S) 常用命令
26 0
|
2月前
|
Kubernetes 监控 Shell
掌握Kubernetes故障排除技巧:kubectl命令的基本指南
以上是使用 `kubectl` 进行故障排除的一些基本指南。熟悉这些命令能够帮助您快速定位和解决在Kubernetes集群中遇到的问题。在实际使用中,您可能还需要结合其他工具和资源,如官方文档、社区论坛以及第三方监控和日志服务来进行更深入的故障诊断和排除。
68 0
|
4月前
|
Shell Docker 容器
深入探索Docker容器管理:常用命令一览(1)
深入探索Docker容器管理:常用命令一览(1)
下一篇
无影云桌面