首页
归档
关于
Search
1
C服务器端
9 阅读
2
1.数据流图(下午题)
8 阅读
3
管道处理模型
8 阅读
4
数据结构与算法
8 阅读
5
3.面向对象设计
7 阅读
软件设计师笔记
.Net
Java
数据库
PHP
运维
前端
Python
中间件相关
云原生
架构设计
Search
标签搜索
websocket
科技新闻
Bi8bo
累计撰写
267
篇文章
累计收到
2
条评论
首页
栏目
软件设计师笔记
.Net
Java
数据库
PHP
运维
前端
Python
中间件相关
云原生
架构设计
页面
归档
关于
搜索到
13
篇与
的结果
2025-04-03
安装注意
1.不能完全按照文档来,不然装不上,尤其是安装顺序2.每台hostname一定要对应上2.conf/config.sh 这里用单master也不能删或者注释systemctl status kubelet 查看k8s服务状态与日志4.kube-vip-master服务 一直在宕机重启,原因conf/config.sh 网卡配置错误
2025年04月03日
3 阅读
0 评论
0 点赞
2025-04-03
会议记录
1.k8s 目前推荐 3 master 3 node master:api server :资源统一操作入口,提供认证授权,api服务发现与注册schedule:调度器,部署在哪个节点自动分配Etcd: 存储集群中对象的状态,元数据等node:kublet:管理容器的生命周期kubelteproxy:内部的服务发现与负载均衡,内部端口给外部开放调用 namespace不同命名空间下访问,需要带上命名空间,相同命名空间直接访问Pod IP访问ClusterIP集群内使用NodePort 集群外访问LoadBalancer 负载均衡+NodePort的方式Igress(路由 )和SP架构的Nginx代理意思差不多,k8s用Igress csi 容器存储接口 。 OSS,存储卷等抽象,提供POD访问数据库目前是主主模式,一个主节点只同步另一个主节点的数据,故障时可以快速切换到另一个主Harbor 用于同步镜像版本,从仓库同步,其他node再从harbor服务器同步云端平台需要两个弹性网卡,需要两个外网IP,一个提供harbor,一个提供网关对外network_type:cilium需要的内核版本比较高,建议使用caliochelm安装服务进k8s 2.运维操作
2025年04月03日
3 阅读
0 评论
0 点赞
2025-04-03
【云原生】k8s集群命令行工具kubectl之故障排除和调试命令
一、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 name=myapp二、logs输出 pod 中某容器的日志。用法:kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]示例:首先:# 运行一个nginx Pod kubectl run nginx --image=nginx其次:#获取指定namespace 下的 podname 的pod日志 kubectl logs <podname> -n <namespace> # 获取pod第一个容器的日志 kubectl logs nginx # 获取pod中所有容器的日志 kubectl logs <podname> --all-containers=true # 获取labels包含 name=myapp的所有pod下的所有容器日志 kubectl logs -l name=myapp --all-containers=true # 持续输出pod中某个容器产生的日志,容器名为 myhello kubectl logs -f -c myhello <podname> # 持续输出labels包含 name=myapp的所有pod下的所有容器日志,最大并发日志请求数为10 kubectl logs -f -l name=myapp --all-containers=true --max-log-requests=10 # 获取最近几行日志 kubectl logs --tail=5 nginx # 获取最近一个小时的日志 kubectl logs --since=1h 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 [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--apiprefix=prefix]示例:kubectl proxy --api-prefix=/custom/ --port=8011 --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 --image=nginx # 创建一个新的pod my-debugger 用来调试, #将原有pod内的容器拷贝到新的pod,并增加一个镜像为ubuntu的容器 # 并且通过进程共享 kubectl debug nginx -it --image=ubuntu --copy-to=my-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 --image=xlhmzch/hello:1.0.0 # 更改容器启动命令 kubectl debug myhello -it --copy-to=my-debugger1 --container=myhello -- /bin/sh # 更改容器镜像 kubectl debug myhello -it --copy-to=my-debugger2 --set-image=myhello=xlhmzch/hello:1.0.1 kubectl debug <podname> -it --copy-to=my-debugger3 --set-image=myhello=xlhmzch/hello:1.0.1,myredis=redis:alpine # 复制并注入临时容器,共享进程空间同时修改myhello容器的镜像 kubectl debug myhello -it --copy-to=my-debugger4 --image=busybox --setimage=myhello=xlhmzch/hello:1.0.1 --share-processes8.3、案例3:调试节点# 通过创建Pod来调试节点,Pod将运行在指定的节点上,节点的根文件系统挂载在/host目录下 kubectl debug node/k8s-node1 -it --image=busybox8.4、其他其他,需要为集群开启临时容器等特性功能,否则无法使用以下操作。# 直接在指定的pod中创建一个基于busybox的临时容器 kubectl debug <podname> -it --image=busybox # 直接在指定的pod中创建一个基于自定义镜像的容器,并且为容器指定容器名为debugger kubectl debug <podname> --image=<cusimage> -c debugger总结以下是常用的kubectl故障排除和调试命令:kubectl get 用于查看资源对象的状态,常用的参数包括:kubectl get pods:查看Pod的状态;kubectl get nodes:查看Node的状态;kubectl get services:查看Service的状态;kubectl get deployments:查看Deployment的状态。kubectl describe 用于查看资源对象的详细信息,常用的参数包括:kubectl describe pod :查看Pod的详细信息;kubectl describe node :查看Node的详细信息;kubectl describe service :查看Service的详细信息;kubectl describe deployment :查看Deployment的详细信息。kubectl logs 用于查看容器的日志信息,常用的参数包括:kubectl logs :查看Pod中所有容器的日志信息;kubectl logs -c :查看Pod中指定容器的日志信息。kubectl exec 用于在容器中执行命令,常用的参数包括:kubectl exec :在Pod中执行指定命令;kubectl exec -c :在Pod中指定容器中执行指定命令。kubectl port-forward 用于将Pod中的端口映射到本地端口,常用的参数kubectl port-forward :将Pod中指定端口映射到本地端口。kubectl apply 用于应用或更新Kubernetes资源对象的配置,常用的参数kubectl apply -f 应用或更新指定文件中的资源对象配置。kubectl delete 用于删除Kubernetes资源对象,常用的参数包括:kubectl delete pod :删除指定Pod;kubectl delete node :删除指定Node;kubectl delete service :删除指定Service;kubectl delete deployment :删除指定Deployment。以上是常用的kubectl故障排除和调试命令,可以帮助管理员对Kubernetes集群进行故障排除和调试。
2025年04月03日
4 阅读
0 评论
0 点赞
2025-04-03
k8s手动部署教程
k8s1.docker 安装节点无法加入时查看3.kuboradkuborad 默认账户密码 admin Kuboard123
2025年04月03日
4 阅读
0 评论
0 点赞
2025-04-03
2.平台运营培训会议
1,接入准备2.传输速度要求10兆每秒,三甲等要求更高3.添加机构平台机构代码建议设置成机构的22位代码4.三方对接 通过接口注册通过视图主动采集 原始影像接口影响通过接口进行注册建议通过C-Store服务传输过来
2025年04月03日
4 阅读
0 评论
0 点赞
1
2
3