Kubernetes kubectl --raw 使用指南
什么是 kubectl –raw? kubectl --raw 是一个强大的底层工具,允许你直接访问 Kubernetes API Server 的 REST API,绕过 kubectl 的客户端逻辑、准入控制器(Admission Controllers)和 Webhook。 ...
什么是 kubectl –raw? kubectl --raw 是一个强大的底层工具,允许你直接访问 Kubernetes API Server 的 REST API,绕过 kubectl 的客户端逻辑、准入控制器(Admission Controllers)和 Webhook。 ...
以下内容转载自:kubernetes 的挂载传播(mount propagation)机制 概述 今天在看 kubectl-debug 这个项目的时候,看到其部署文件的 volumeMounuts 中使用了一个 mountPropagation 字段,因为不清楚这个字段的作用,就做了一下了解。mount propagation 背后的东西还是很多的,因此整理了这篇文章,顺便梳理一下知识点。 ...
k8sgpt 能够赋予每个人的 Kubernetes 超能力,能够用简单的语言扫描 Kubernetes 集群、诊断和分类问题。利用 k8sgpt 的 mcp 服务,可以为 LLM 赋予访问 k8s 集群的可能性。 工作原理图: sequenceDiagram actor U as User participant CS as Cherry Studio participant KG as k8sgpt participant K as K8s API Server U->>+CS: Add k8sgpt MCP server CS->>+KG: Check k8sgpt KG-->>-CS: k8sgpt is work CS-->>-U: Success to Add MCP U->>+CS: Ask some Question about K8s cluster CS->>+KG: Get someinfo throuth MCP KG->>+K: Get Cluster Info By API K-->>-KG: Return Cluster info KG-->>-CS: Return Info About K8s CS-->>CS: Handle Info CS-->>-U: Return Answer about K8s cluster 安装 k8sgpt 首先安装 k8sgpt 工具: ...
TL;DR Octant 是一个以开发人员为中心的开源 Kubernetes Web 界面,可让您检查 Kubernetes 集群及其应用程序,能够帮助开发人员更好理解 Kubernetes 集群复杂性的平台。在这里发现的。 虽然 VMware 已结束该项目的积极开发 ,但看起来确实很好用,收藏备用。 ...
TL;DR 配置 ingress 服务时调整一下大小即可: apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cafe-ingress-with-annotations annotations: nginx.org/proxy-connect-timeout: "30s" nginx.org/proxy-read-timeout: "20s" nginx.org/client-max-body-size: "4m" nginx.org/server-snippets: | location / { return 302 /coffee; } spec: rules: - host: cafe.example.com http: paths: - path: /tea pathType: Prefix backend: service: name: tea-svc port: number: 80 - path: /coffee pathType: Prefix backend: service: name: coffee-svc port: number: 80 References Nginx Ingress returns 413 Entity Too Large Advanced configuration with Annotations
From V 以下内容转载自 https://www.v2ex.com/t/968514#r_13557021 k8s 这个东西真的内容太多了,没有啥系统性的资料,里面各种知识点真的没法说,太多了,最好的就是看官方文档,并且结合工作当中的实践慢慢积累,才能由浅入深,只是看文档想掌握深点,个人感觉很困难。 ...
demo ingress 这个实例中,实现将 访问 https://image.frytea.com/Avatar.jpg 请求302到 https://image.frytea.com/i/Avatar.jpg apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: app namespace: imagehost annotations: cert-manager.io/cluster-issuer: "dnspod-cluster-issuer" nginx.ingress.kubernetes.io/configuration-snippet: | location = /Avatar.jpg { return 301 https://image.frytea.com/i/Avatar.jpg$is_args$args; } spec: ingressClassName: nginx tls: - hosts: - image.frytea.com - imagehost-cdn.frytea.com - cdn-imagehost.frytea.com secretName: image-frytea-com-tls rules: - host: image.frytea.com http: paths: - path: / pathType: Prefix backend: service: name: app port: name: web 直接配置会提示报错: ...
下面介绍更新 Deployment 以重新拉取相同标签镜像的方法,不要只会杀 pod 触发了,个人最喜欢方法二。 当镜像名称和标签都没有变化,但需要重新拉取镜像时(比如镜像内容已更新但标签保持不变),可以采用以下方法: ...
TL;DR 发现 k8s csi 组的社区项目 csi-driver-nfs v4.10 到 v4.11 至少这两个版本存在删除 pv 时会连带将整个根删除的问题。 声明 StorageClass 时虽然支持 subDir ,类似这样: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-aliyun-gz provisioner: nfs.csi.k8s.io parameters: share: "/csi" server: "28364f4a1fa-eok75.cn-guangzhou.nas.aliyuncs.com" #server: "172.26.12.20" #subDir: "${pvc.metadata.namespace}/${pvc.metadata.name}" reclaimPolicy: Delete #volumeBindingMode: WaitForFirstConsumer volumeBindingMode: Immediate allowVolumeExpansion: true mountOptions: # - nolock,tcp,noresvport - vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 但如果类似这样使用 subDir 声明路径,同命名空间下的其他 pvc 删除,会导致整个 subDir 根目录都被删除。目前官方 pr 已经修复,但实测还是有问题,有空再研究一下代码,不知道是不是刻意为之。 ...
TL; DR root@tencent-sh1:~# cat /etc/rancher/k3s/registries.yaml mirrors: "docker.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-dockerhub/$1" "registry.k8s.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-k8s-io/$1" "ghcr.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-ghcr-io/$1" "quay.io": endpoint: - "https://harbor.xxx.me" rewrite: "^(.*)": "mirror-registry-quay-io/$1" 以上是我的配置,在 harbor 中镜像以上镜像源,之后这样 配置即可。 如果没有路径,比如使用 registry 镜像,忽略 rewrite 部分即可。 ...