电子商务网站建设考试试卷传扬互动网站建设公司

当前位置: 首页 > news >正文

电子商务网站建设考试试卷,传扬互动网站建设公司,泰山信息科技有限公司,如何做网页推广如何做网页kubectl之故障排除和调试命令一、describe二、logs三、attach四、exec五、port-forward六、proxy七、cp八、debug8.1、案例1#xff1a;共享进程空间8.2、案例2#xff1a;更改启动命令、容器镜像8.3、案例3#xff1a;调试节点8.4、其他一、describe 显示某个资源或某组资… kubectl之故障排除和调试命令一、describe二、logs三、attach四、exec五、port-forward六、proxy七、cp八、debug8.1、案例1共享进程空间8.2、案例2更改启动命令、容器镜像8.3、案例3调试节点8.4、其他一、describe 显示某个资源或某组资源的详细信息。 用法 kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME)示例

显示单个node节点详细信息

kubectl describe nodes k8s-node1

显示单个pod详细信息

kubectl describe pods/nginx

显示文件描述的资源的详细信息

kubectl describe -f myapp-deployment.yaml

显示以k8s开头的节点的详细信息

kubectl describe node k8s

显示以myapp-deployment开头的pod的详细信息pod命名通常与其控制器有关

kubectl describe pods myapp-deployment

显示指定label的pod详细信息

kubectl describe po -l namemyapp二、logs 输出 pod 中某容器的日志。 用法 kubectl logs [-f] -p [-c CONTAINER]示例 首先

运行一个nginx Pod

kubectl run nginx –imagenginx其次

获取pod第一个容器的日志

kubectl logs nginx

获取pod中所有容器的日志

kubectl logs podname –all-containerstrue

获取labels包含 namemyapp的所有pod下的所有容器日志

kubectl logs -l namemyapp –all-containerstrue

持续输出pod中某个容器产生的日志容器名为 myhello

kubectl logs -f -c myhello podname

持续输出labels包含 namemyapp的所有pod下的所有容器日志最大并发日志请求数为10

kubectl logs -f -l namemyapp –all-containerstrue –max-log-requests10

获取最近几行日志

kubectl logs –tail5 nginx

获取最近一个小时的日志

kubectl logs –since1h nginx

获取pod中第一个容器的日志

kubectl logs pod/podname

获取指定deployment中第一个pod的指定容器的日志。默认日志请求并发数为5

kubectl logs deployment/myapp-deployment -c myhello更多示例

输出pod web-1中曾经运行过的但目前已终止的容器ruby的日志

kubectl logs -p -c ruby web-1三、attach 连接到一个正在运行的容器。 用法 kubectl attach (POD | TYPE/NAME) -c CONTAINER示例

连接到指定pod中正在运行的第一个容器

kubectl attach podname

连接到指定pod中正在运行容器名为 myhello的容器

kubectl attach podname -c myhello

连接到指定deployments正在运行的第一个容器

kubectl attach deployments/myapp-deployment四、exec 在容器中执行相关命令。 用法 kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] – COMMAND [args…]示例

在pod nginx 第一个容器中执行date命令

kubectl exec nginx – date

通过-c 指定容器

kubectl exec podname -c myhello – date

传入 ls命令和相关参数

kubectl exec podname -c myhello – ls -al ./

通过 -it 开启一个虚拟终端

kubectl exec podname -c myhello -i -t – /bin/sh

deployment/myapp-deployment第一个容器中执行命令

kubectl exec deployments/myapp-deployment – date

svc/myapp-svc 第一个容器中执行命令

kubectl exec svc/myapp-svc – date五、port-forward 将一个或者多个本地端口转发到 pod。如果有多个pod符合条件将自动选择一个pod。当所选pod终止时转发会话结束需要重新运行该命令才能恢复转发。 用法 kubectl port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [… [LOCAL_PORT_N:]REMOTE_PORT_N]示例

转发本机5000 6000 端口到pod对应端口

kubectl port-forward pod/nginx 5000 6000

转发本机 5000 6000 分别到80和81端口

kubectl port-forward pod/nginx 5000:80 6000:81

从deployments/myapp-deployment 选择一个pod进行转发操作

kubectl port-forward deployments/myapp-deployment 5000 6000

从service中选择第一个pod并将端口转发到端口名为http的端口上

kubectl port-forward service/myapp-svc 8080:http

通过–address指定监听地址

kubectl port-forward –address localhost,192.168.239.142 pod/nginx 8888:80

随机一个本地端口转发到pod的指定端口

kubectl port-forward pod/nginx :80六、proxy 在本地主机和Kubernetes API服务器之间创建代理服务器或应用程序级网关。它还允许通过指定的HTTP路径提供静态内容。所有传入数据都通过一个端口进入并转发到远程Kubernetes API服务器端口但与静态内容路径匹配的路径除外。 用法 kubectl proxy [–portPORT] [–wwwstatic-dir] [–www-prefixprefix] [–apiprefixprefix]示例 kubectl proxy –api-prefix/custom/ –port8011 –www$HOME/ –wwwprefix/static/# 通过代理访问apiserver接口 curl http://127.0.0.1:8011/custom/api/v1/pods

通过代理访问静态内容

curl http://127.0.0.1:8011/static/七、cp 将文件和目录拷入/拷出容器。 用法 kubectl cp file-spec-src file-spec-dest示例

把pod第一个容器中当前工作目录下的app 复制到宿主机的/tmp/app

kubectl cp podname:app /tmp/app

把/tmp/app 文件复制到 pod第一个容器当前工作目录下命名为app1

kubectl cp /tmp/app podname:app1

把default命名空间下pod中容器myhello中当前工作目录下的app 复制到宿主机的/tmp/app

kubectl cp default/podname:app /tmp/app -c myhello# 查看容器当前工作目录内容 kubectl exec podname ls八、debug 创建用于排查工作负载和节点故障的调试会话。 用法 kubectl debug (POD | TYPE[[.VERSION].GROUP]/NAME) [ – COMMAND [args…] ]8.1、案例1共享进程空间

运行一个nginx pod

kubectl run nginx –imagenginx

创建一个新的pod my-debugger 用来调试

#将原有pod内的容器拷贝到新的pod并增加一个镜像为ubuntu的容器

并且通过进程共享

kubectl debug nginx -it –imageubuntu –copy-tomy-debugger –share-processes

开启另一个终端可以查看命名空间共享配置

kubectl get pod my-debugger -o yaml | grep shareProcessNamespace调试容器内执行ps ax可以看到包括被调试容器在内的所有进程。
通过访问/proc/{PID}/root 可访问到其他容器的文件系统PID为主进程ID。
8.2、案例2更改启动命令、容器镜像

运行一个myhello的pod

kubectl run myhello –imagexlhmzch/hello:1.0.0

更改容器启动命令

kubectl debug myhello -it –copy-tomy-debugger1 –containermyhello – /bin/sh

更改容器镜像

kubectl debug myhello -it –copy-tomy-debugger2 –set-imagemyhelloxlhmzch/hello:1.0.1 kubectl debug podname -it –copy-tomy-debugger3 –set-imagemyhelloxlhmzch/hello:1.0.1,myredisredis:alpine

复制并注入临时容器共享进程空间同时修改myhello容器的镜像

kubectl debug myhello -it –copy-tomy-debugger4 –imagebusybox –setimagemyhelloxlhmzch/hello:1.0.1 –share-processes8.3、案例3调试节点

通过创建Pod来调试节点Pod将运行在指定的节点上节点的根文件系统挂载在/host目录下

kubectl debug node/k8s-node1 -it –imagebusybox8.4、其他 其他需要为集群开启临时容器等特性功能否则无法使用以下操作。

直接在指定的pod中创建一个基于busybox的临时容器

kubectl debug podname -it –imagebusybox

直接在指定的pod中创建一个基于自定义镜像的容器并且为容器指定容器名为debugger

kubectl debug podname –imagecusimage -c debugger