常用project

  1. helm dashboard
  2. 开源云系统casaos
  3. cncf全景图
  4. operatorhub
  5. k8s handbook
  6. k8s中文文档

云原生博客

  1. mohuishou
  2. 云原生实验室
  3. jimmy song

工具

  1. openlens
  2. 存放在 ~/.k8slens目录下,下载@alebcay/openlens-node-pod-menu
  3. 自己编译 https://blog.devgenius.io/is-it-time-to-migrate-from-lens-to-openlens-75496e5758d8 可以参考openlens的 Git workflow
  4. kubebuilder, operator sdk, code-generator

Mutating admission webhooks

  1. 参考https://github.com/opskumu/admission-webhook-example
  2. kubebuilder 和operator SDK用来编写operator。 kubebuilder demo

安装

  1. 快速搭建K8s集群一键安装脚本及配置说明,kubeadm方式
  2. shell 脚本一键安装k8s
  3. 一键安装sealer
  4. kubeadm 是官方的集群安装工具,可以使用kubeadm手动安装

周边工具

  1. com/cnrancher/kube-explorer
  2. k3s
  3. rancher
  4. k3d
  5. autok3s

调试pod

# 设置containerid,containerid 可以用kubectl describe pod ,在status部分可以找到
containerid=xxx
# 获取容器主进程
pid=$(docker inspect -f {{.State.Pid}} $containerid)
# 进入容器networker namespace
nsenter -n --target $pid

调试node

如果只有api server权限,可以通过发布如下deamonset来达到进入node shell的能力。参考

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: kube-nodeshell
  labels:
    app: kube-nodeshell
spec:
  selector:
    matchLabels:
      app: kube-nodeshell
  template:
    metadata:
      labels:
        app: kube-nodeshell
    spec:
      tolerations:
        - operator: "Exists"
      containers:
      - name: kube-nodeshell
        image: alpine
        command:
        - nsenter
        - --target
        - "1"
        - --mount
        - --uts
        - --ipc
        - --net
        - --pid
        - --
        - sleep
        - infinity
        securityContext:
          privileged: true
      hostIPC: true
      hostPID: true
      hostNetwork: true
      enableServiceLinks: false
      priorityClassName: system-node-critical

MutatingWebhookConfiguration

  1. 参考 云原生
  2. 证书制作参考
  3. k3s的caBundle这么拿cat /var/lib/rancher/k3s/server/tls/client-ca.crt |base64 |tr -d '\n'

admission-controller-webhook-demo

  1. 参考

Operator

书籍参考

  1. kubernetes源码剖析
  2. Kubernetes网络权威指南:基础、原理与实践
  3. docker源码分析