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

cps网站建设免备案免费空间

cps网站建设,免备案免费空间,商业机构的网站是什么,重点实验室网站建设的意义云原生学习路线导航页(持续更新中) kubernetes学习系列 快捷连接 Kubernetes架构原则和对象设计(一) 本文介绍kubectl的几个常用命令,kubconfig文件基本属性,并开启kubectl debug日志分析其背后基本原理 …

云原生学习路线导航页(持续更新中)

  • kubernetes学习系列 快捷连接
    • Kubernetes架构原则和对象设计(一)

本文介绍kubectl的几个常用命令,kubconfig文件基本属性,并开启kubectl debug日志分析其背后基本原理

  • 结论写在前面:
    • kubectl就是一个和kube-apiserver交互的命令行工具,通过将命令转换成对应的get、delete等请求发送给api-server,实现与kubernetes的交互
    • kubeconfig文件为kubectl提供集群地址、集群鉴权cert、token等信息

1.kubectl 做了什么

在这里插入图片描述

  • 执行kubectl命令的时候,添加 -v 9,即可开启debug日志,可以看到kubectl到底干了什么
    • 可以看到,kubectl命令首先加载了 /root/.kube/config 文件,获取到了当前要连接的集群信息,及user认证信息cert、key
    • 然后向apiserver发送get请求
      在这里插入图片描述

2.kubeconfig 内容解释

  • kubectl从其中获取当前正在使用的上下文,并使用 该上下文中 指定的user 连接 指定的cluster
  • kubeconfig 默认路径:/root/.kube/config,当然你可以通过设置 KUBECONFIG 环境变量或者设置 --kubeconfig参数来指定其他 kubeconfig 文件
  • 官方文档:https://kubernetes.io/zh-cn/docs/concepts/configuration/organize-cluster-access-kubeconfig/
    在这里插入图片描述

3.kubectl get 命令

在这里插入图片描述

  • 使用-oyaml和-w实时查看 default ns 的yaml变化
    [root@VM-226-235-tencentos ~]# kubectl get ns default -oyaml -w
    apiVersion: v1
    kind: Namespace
    metadata:creationTimestamp: "2024-04-17T08:00:47Z"name: defaultresourceVersion: "146"selfLink: /api/v1/namespaces/defaultuid: da7c3a89-3ac2-411b-a7fa-f985f5fb24ec
    spec:finalizers:- kubernetes
    status:phase: Active
  • 开启kubectl debug日志,可以看出
    • kubectl会首先发送get请求,获取default ns的yaml
    • 然后又发送了一次get请求,不过这个get请求的watch参数置为了true,和apiserver建立了一个长连接
      • 当ns有变化的时候,apiserver就会把事件推送过来,我们的控制台就可以打印最新ns的yaml了
    [root@VM-226-235-tencentos ~]# kubectl get ns default -oyaml -w -v 9
    I1207 17:13:12.017346    6316 loader.go:375] Config loaded from file:  /root/.kube/config
    ...... 
    I1207 17:13:12.057355    6316 round_trippers.go:424] curl -k -v -XGET  -H "Accept: application/json" -H "User-Agent: kubectl/v1.19.16 (linux/amd64) kubernetes/e37e4ab" 'https://9.135.226.235:6443/api/v1/namespaces/default'
    I1207 17:13:12.059146    6316 round_trippers.go:444] GET https://9.135.226.235:6443/api/v1/namespaces/default 200 OK in 1 milliseconds
    I1207 17:13:12.059162    6316 round_trippers.go:450] Response Headers:
    I1207 17:13:12.059166    6316 round_trippers.go:453]     Cache-Control: no-cache, private
    I1207 17:13:12.059175    6316 round_trippers.go:453]     Content-Type: application/json
    I1207 17:13:12.059181    6316 round_trippers.go:453]     Content-Length: 286
    I1207 17:13:12.059194    6316 round_trippers.go:453]     Date: Sat, 07 Dec 2024 09:13:12 GMT
    I1207 17:13:12.059222    6316 request.go:1097] Response Body: {"kind":"Namespace","apiVersion":"v1","metadata":{"name":"default","selfLink":"/api/v1/namespaces/default","uid":"da7c3a89-3ac2-411b-a7fa-f985f5fb24ec","resourceVersion":"146","creationTimestamp":"2024-04-17T08:00:47Z"},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active"}}
    I1207 17:13:12.059373    6316 table_printer.go:45] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object
    apiVersion: v1
    kind: Namespace
    metadata:creationTimestamp: "2024-04-17T08:00:47Z"name: defaultresourceVersion: "146"selfLink: /api/v1/namespaces/defaultuid: da7c3a89-3ac2-411b-a7fa-f985f5fb24ec
    spec:finalizers:- kubernetes
    status:phase: Active
    I1207 17:13:12.059734    6316 round_trippers.go:424] curl -k -v -XGET  -H "Accept: application/json" -H "User-Agent: kubectl/v1.19.16 (linux/amd64) kubernetes/e37e4ab" 'https://9.135.226.235:6443/api/v1/namespaces?fieldSelector=metadata.name%3Ddefault&resourceVersion=0&watch=true'
    I1207 17:13:12.060448    6316 round_trippers.go:444] GET https://9.135.226.235:6443/api/v1/namespaces?fieldSelector=metadata.name%3Ddefault&resourceVersion=0&watch=true 200 OK in 0 milliseconds
    I1207 17:13:12.060474    6316 round_trippers.go:450] Response Headers:
    I1207 17:13:12.060481    6316 round_trippers.go:453]     Content-Type: application/json
    I1207 17:13:12.060493    6316 round_trippers.go:453]     Date: Sat, 07 Dec 2024 09:13:12 GMT
    I1207 17:13:12.060506    6316 round_trippers.go:453]     Cache-Control: no-cache, private
    I1207 17:13:12.060780    6316 table_printer.go:45] Unable to decode server response into a Table. Falling back to hardcoded types: attempt to decode non-Table object
    
  • 为default ns添加label,长连接查看输出
    在这里插入图片描述

4.kubectl describe 命令

  • 最重要的用途是 查看event,用于问题排查

5.kubectl exec 进入容器

在这里插入图片描述

  • kubectl exec -it pod-xxx -n ns-xxx -- bash
    • -- :前面是指令,后面是在容器中执行的命令【非必须,但建议写,语义更明确】
    • bash:执行容器的bash命令,会进入容器的bash命令行,可以做一些debug操作
  • 比如也可以直接使用 – 指定查看容器内文件
    • kubectl exec -it pod-xxx -n ns-xxx -- tail -f /var/app.log

6.kubectl logs 命令

  • kubectl logs 查看的是标准输出日志
    • kubectl logs pod-xxx -n ns-xxx:查看pod 标准输出日志,使用-f参数可以实时输出
    • kubectl logs pod-xxx -n ns-xxx | head -n 10:查看pod前10行 标准输出日志
    • kubectl logs pod-xxx -n ns-xxx | grep "user-xxxx":检索 标准输出日志 中指定关键字
  • 如果你的应用会把日志写入到某个指定路径下,可以使用exec查看容器的指定文件
    • kubectl exec -it pod-xxx -n ns-xxx -- tail -f /var/app.log
http://www.yayakq.cn/news/740569/

相关文章:

  • 家居在线设计网站学校网站开发价格
  • 利用wix建手机网站ppt制作免费模板
  • 做装修业务呢有多少网站建设部网站国家级工法目录
  • 做做网价格优化网站建设
  • 徐州网站关键词推广网站建设情况的自查报告
  • 泰安招聘网站有哪些网站建设与管理的条件
  • 网站推广办法河北建造师网
  • 天津网站建设企业谷歌 chrome 浏览器
  • 长春盛网网站建设个人信息查询
  • 泰安网站建设怎么样wordpress中文开发电子书
  • 闵行网站搭建哪里有可以自己做攻略的网站
  • 市北区开发建设局 网站如何对网站进行优化
  • linux做商务网站达美网站建设
  • 最专业的网站建设组织新郑市建设局网站
  • 网站改版 数据迁移网页设计制作网站模板
  • 自建网站过程查公司查企业用什么网站
  • 绵阳市建设工程质量监督站网站换物网站为什么做不起来
  • 审美网站信阳网站设计
  • html网站怎么进入后台建设单位企业锁登陆网站
  • 泰州网站建设服务好wordpress怎么获取数据
  • 做网页链接网站WordPress主题安全检查
  • 云主机搭建网站企业建设官方网站的目的
  • 网站网站的建设安徽建设厅网站打不开
  • 国外app界面设计网站网站开发人员职位晋升空间
  • 毕业设计网站建设软件项目肇庆seo按天收费
  • 什么是网站设计种类如何不备案做购物网站
  • 广告公司做网站的效果怎么样wordpress收费版验证方式
  • 做网站大图素材广西优化网站
  • 学做网站哪里学深圳网站建设 案例
  • 男女做那个的视频网站四川省城乡建设网查询