kubectl上下文和配置
# 显示合并的 kubeconfig 配置
# 同时使用多个 kubeconfig 文件并查看合并的配置
# 获取 e2e 用户的密码
# 显示第一个用户
# 获取用户列表
# 显示上下文列表
# 展示当前所处的上下文
# 设置默认的上下文为 my-cluster-name
# 在 kubeconfig 中设置集群条目
# 在 kubeconfig 中配置代理服务器的 URL,以用于该客户端的请求
# 添加新的用户配置到 kubeconf 中,使用 basic auth 进行身份认证
# 在指定上下文中持久性地保存名字空间,供所有后续 kubectl 命令使用
# 使用特定的用户名和名字空间设置上下文
# 删除用户 foo
# 设置或显示 context / namespace 的短别名
# (仅适用于 bash 和 bash 兼容的 shell,在使用 kn 设置命名空间之前要先设置 current-context)
创建对象
查看和查找资源
更新资源
更新部分资源
编辑资源
扩缩资源
# 将名为 'foo' 的副本集扩缩到 3 副本
# 将在 "foo.yaml" 中的特定资源扩缩到 3 个副本
# 如果名为 mysql 的 Deployment 的副本当前是 2,那么将它扩缩到 3
# 扩缩多个副本控制器
删除资源
与运行的pod进行交互
# 获取 Pod 日志(标准输出)
# 获取含 name=myLabel 标签的 Pod 的日志(标准输出)
# 获取上个容器实例的 Pod 日志(标准输出)
# 获取 Pod 容器的日志(标准输出, 多容器场景)
# 获取含 name=myLabel 标签的 Pod 容器日志(标准输出, 多容器场景)
# 获取 Pod 中某容器的上个实例的日志(标准输出, 多容器场景)
# 流式输出 Pod 的日志(标准输出)
# 流式输出 Pod 容器的日志(标准输出, 多容器场景)
# 流式输出含 name=myLabel 标签的 Pod 的所有日志(标准输出)
# 以交互式 Shell 运行 Pod
# 在 “mynamespace” 命名空间中运行单个 nginx Pod
# 为运行 nginx Pod 生成规约并将其写入到名为 pod.yaml 的文件
# 挂接到一个运行的容器中
# 在本地计算机上侦听端口 5000 并转发到 my-pod 上的端口 6000
# 在已有的 Pod 中运行命令(单容器场景)
# 使用交互 shell 访问正在运行的 Pod (一个容器场景)
# 在已有的 Pod 中运行命令(多容器场景)
# 显示给定 Pod 和其中容器的监控数据
# 显示给定 Pod 的指标并且按照 'cpu' 或者 'memory' 排序
容器中复制文件和目录
与deployments和services进行交互
与节点和集群进行交互
# 标记 my-node 节点为不可调度
# 对 my-node 节点进行清空操作,为节点维护做准备
# 标记 my-node 节点为可以调度
# 显示给定节点的度量值
# 显示主控节点和服务的地址
# 将当前集群状态转储到标准输出
# 将当前集群状态输出到 /path/to/cluster-state
# 查看当前节点上存在的现有污点
# 如果已存在具有指定键和效果的污点,则替换其值为指定值
kubectl日志输出
CKA
1
监控名为foobar的Pod的日志,并过滤出具有ubable-access-website信息的行
然后写入到/opt/KUTR00101/foobar
kubectl logs foobar | grep ubable-access-website > /opt/KUTR00101/foobar
2
找出具有name=cpu-user的Pod,并过滤出使用cpu最高的pod,然后把它的名字写在已经存在的/opt/KUTR00401/KUTR00401.txt 文件里
kubectl top -A pod -l name=cpu-user
echo >> /opt/KUTR00401/KUTR00401.txt
3
扩展名字为loadbalancer的deployment的副本数为6
kubectl scale --replices=6 deployment loadbancer
4
检查集群中有多少节点为 Ready 状态,并且去除包含 NoSchedule 污点的节点。之后将数字
写到/opt/KUSC00402/kusc00402.txt
kubectl get node | grep -i ready
kubectl describe node | grep taint | grep NoSchedule
echo x > /opt/KUSC00402/kusc00402.txt
5
将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pod
kubectl cordon ek8s-node-1
kubectl drain pod --delete-emptydir-data=true --ignore-daemonsets=true