区块链技术

CKA(Kubernetes管理员认证)速查表

本文主要是介绍CKA(Kubernetes管理员认证)速查表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 理解 Kubernetes 集群架构
— 主控节点组件:API 服务、etcd、调度器、控制器管理器。
— 节点组件:kubelet、kube-proxy、容器运行时环境。

2. Kubernetes 对象和工作负载
— Pods、Deployments、StatefulSets、DaemonSets、Jobs、CronJobs。
— 学会如何创建、更新和维护这些工作负载。

3. Kubernetes中的网络(Networking in Kubernetes)
— Pod网络概念,CNI。
— 各种服务类型(ClusterIP(集群IP),NodePort(节点端口),LoadBalancer(负载均衡器),ExternalName(外部名称))。
— Ingress控制器和Ingress资源。

4. Kubernetes 中的存储
— 理解持久卷 (PV)、持久卷声明 (PVC) 以及 StorageClass。
— 使用 ConfigMaps 和 Secrets 来配置和存储敏感数据。

5. Kubernetes 中的安全性
— RBAC (基于角色的访问控制) — 角色和集群角色、角色绑定和集群角色绑定。
— 网络策略。
— Pod 安全策略。

6. 集群维护任务
— 集群升级的流程。
— Kubernetes 和 etcd 的备份及恢复方法。

7. 监控与日志
— 集群级别日志和监控的基本概念。
— 了解Prometheus和Grafana、ELK栈等等工具。

8. 故障排除
— 排查应用故障。
— 排查控制层故障。
— 排查工作节点故障。
— 排查网络故障。

常用的 kubectl 命令:
  • kubectl get pods/deployments/services -n namespace — 列出命名空间内的资源。
    - kubectl describe pod/deployment <name> -n namespace — 查看资源详情。
    - kubectl create -f config.yaml — 从 YAML 文件创建资源对象。
    - kubectl apply -f config.yaml — 应用 YAML 文件中的配置。
    - kubectl delete pod/deployment <name> — 删除指定资源。
    - kubectl exec -it <pod_name> — /bin/bash — 在 pod 中启动交互式 bash shell。
    - kubectl logs <pod_name> — 获取 pod 日志。
    - kubectl port-forward pod/ <pod_name> 8080:80 — 将本地端口转发至 pod。
    - kubectl drain <node_name> — 准备节点进行维护操作。
    - kubectl cordon/uncordon <node_name> — 将节点标记为不可调度或可调度。
    - kubectl top node/pod — 显示节点或 pod 的资源(CPU/内存)使用情况。
Kubernetes 命令和语法(CKA 考试专用)

日常管理

  • kubectl get [资源]: 查看资源列表。例如,kubectl get pods
  • kubectl describe [资源] [容器]: 查看资源详情。例如,kubectl describe pod my-pod

创建并管理资源

  • kubectl create -f [file.yaml]: 从 YAML 文件创建资源。

  • kubectl apply -f [file.yaml]: 应用 YAML 文件中的配置。

  • kubectl delete [resource] [name]: 例如,删除名为 my-pod 的 Pod 实例,可以使用命令 kubectl delete pod my-pod

  • kubectl edit [resource] [name]: 编辑资源的配置信息。

两者都用于配置资源,但 apply 可以应用于已经存在的资源上,而 create 是创建新的资源。

命名空间(用于区分不同作用域内的标识符)

  • kubectl get namespaces: 列出所有命名空间。
  • kubectl create namespace [name]: 创建一个新命名空间。

模块

  • kubectl run [name] --image=[image]: 使用指定的镜像来运行一个 pod。
  • kubectl exec -it [pod-name] -- [command]:在运行的 pod 中执行命令(其中 -it 表示分配一个TTY和使其交互)。

部署和实例

  • kubectl scale deployment [deployment-name] --replicas=[数字]: 将指定的部署缩放为指定数量的副本。
  • kubectl rollout status deployment/[deployment-name]: 查看指定部署的更新状态。
  • kubectl rollout undo deployment/[deployment-name]: 回滚到上一个部署。

服务项目

  • kubectl expose deployment [deployment-name] --type=[type] --port=[port]:说明:将一个部署公开为一个新的 Kubernetes 服务。

日志和调试功能

  • kubectl logs [pod名称]: 获取 pod 的日志。
  • kubectl logs -f [pod名称]: 获取并实时查看 [pod名称] 的日志。

节点管理

  • kubectl get nodes:列出集群中的所有节点命令。
  • kubectl cordon [node-name]:将节点设置为不可调度命令。
  • kubectl drain [node-name]:清空节点以准备进行维护命令。

资源审查

  • kubectl top pod: 列出 pod 的监控数据。
  • kubectl top node: 列出节点的监控数据。

设置

  • kubectl config view: 查看 Kubernetes 设置。
  • kubectl config use-context [context-name]: 切换到 [context-name] 上下文。

kubectl 快速参考

  • Kubernetes 的官方 kubectl 快捷命令表是极其宝贵的资源:https://kubernetes.io/docs/reference/kubectl/cheatsheet/
使用 kubectl 命令的提示
  • 了解如何切换上下文: 如果你正在处理多个集群,知道如何切换上下文。
  • 使用 YAML 进行声明式配置: 虽然命令行很有用,但使用 YAML 进行声明式配置更一致和可重复。
  • 试试 kubectl 的自动补全功能: 它可以显著加快命令输入。
  • 记得选择器: 它们对于筛选结果非常强大,特别是配合 get 命令时。

这份快速参考指南涵盖了CKA考试和日常K8s管理常用的基本概念和命令。记住,多做实践练习,并熟悉官方K8s文档,这是通过CKA考试的关键在于。

这篇关于CKA(Kubernetes管理员认证)速查表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!