Kubernetes 扩展kubelet

kubelet-cilium

#https://github.com/ishantanu/awesome-kubectl-plugins

#kublet-cilium
#https://github.com/bmcustodio/kubectl-cilium
#下载
https://github.com/bmcustodio/kubectl-cilium/releases/download/v0.1.2/kubectl-cilium_v0.1.2_linux_amd64.tar.gz
#
root@ubuntu-k8s-master01:~/software# tar zxvf kubectl-cilium_v0.1.2_linux_amd64.tar.gz
root@ubuntu-k8s-master01:~/software# mv kubectl-cilium /usr/local/bin/
root@ubuntu-k8s-master01:~/software# kubectl get nodes
NAME                  STATUS   ROLES           AGE     VERSION
ubuntu-k8s-master01   Ready    control-plane   5d20h   v1.28.2
ubuntu-k8s-node01     Ready    <none>          5d20h   v1.28.2
ubuntu-k8s-node02     Ready    <none>          5d20h   v1.28.2
#使用kubectl cilium 执行
root@ubuntu-k8s-master01:~/software# kubectl cilium exec ubuntu-k8s-node01 cilium status
KVStore:                 Ok   Disabled
Kubernetes:              Ok   1.29 (v1.29.2) [linux/amd64]
Kubernetes APIs:         ["EndpointSliceOrEndpoint", "cilium/v2::CiliumClusterwideEnvoyConfig", "cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumEnvoyConfig", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "cilium/v2alpha1::CiliumCIDRGroup", "core/v1::Namespace", "core/v1::Pods", "core/v1::Secrets", "core/v1::Service", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement:    Strict   [ens33   192.168.40.133 fe80::20c:29ff:fea1:ddc5 (Direct Routing)]
Host firewall:           Disabled
SRv6:                    Disabled
CNI Chaining:            none
Cilium:                  Ok   1.15.0 (v1.15.0-2db45c46)
NodeMonitor:             Listening for events on 128 CPUs with 64x4096 of shared memory
Cilium health daemon:    Ok
IPAM:                    IPv4: 5/254 allocated from 10.244.1.0/24,
IPv4 BIG TCP:            Disabled
IPv6 BIG TCP:            Disabled
BandwidthManager:        Disabled
Host Routing:            Legacy
Masquerading:            IPTables [IPv4: Enabled, IPv6: Disabled]
Controller Status:       31/31 healthy
Proxy Status:            OK, ip 10.244.1.229, 0 redirects active on ports 10000-20000, Envoy: embedded
Global Identity Range:   min 256, max 65535
Hubble:                  Ok              Current/Max Flows: 2966/4095 (72.43%), Flows/s: 11.68   Metrics: Disabled
Encryption:              Disabled
Cluster health:          3/3 reachable   (2024-03-06T01:59:57Z)
Modules Health:          Stopped(0) Degraded(0) OK(11) Unknown(3)

#列出所有已经安装的插件
root@ubuntu-k8s-master01:~/software# kubectl plugin list
Unable to read directory "/snap/bin" from your PATH: open /snap/bin: no such file or directory. Skipping...
The following compatible plugins are available:

/usr/local/bin/kubectl-cilium

使用Krew管理-kubectl插件

#Krew是由Kubernetes SIG CLI社区维护的插件管理器,常用于发现和安装kubecd插件
#Krew自身也是kubectl的插件之一

#https://github.com/kubernetes-sigs/krew/releases
#下载
#https://github.com/kubernetes-sigs/krew/releases/download/v0.4.4/krew-linux_amd64.tar.gz
root@ubuntu-k8s-master01:~/software# tar zxvf krew-linux_amd64.tar.gz
root@ubuntu-k8s-master01:~/software# mv krew-linux_amd64 /usr/local/bin/kubectl-krew
root@ubuntu-k8s-master01:~/software# kubectl krew --help
krew is the kubectl plugin manager.
You can invoke krew through kubectl: "kubectl krew [command]..."

Usage:
  kubectl krew [command]

Available Commands:
  help        Help about any command
  index       Manage custom plugin indexes
  info        Show information about an available plugin
  install     Install kubectl plugins
  list        List installed kubectl plugins
  search      Discover kubectl plugins
  uninstall   Uninstall plugins
  update      Update the local copy of the plugin index
  upgrade     Upgrade installed plugins to newer versions
  version     Show krew version and diagnostics

Flags:
  -h, --help      help for krew
  -v, --v Level   number for the log level verbosity

Use "kubectl krew [command] --help" for more information about a command.
#
root@ubuntu-k8s-master01:~/software# kubectl krew search cilium
#使用krew来安装插件 但是服务无法代理 
root@ubuntu-k8s-master01:~/software# kubectl krew install tree

使用kubelet-tree :列出资源

#https://github.com/ahmetb/kubectl-tree/releases/download/v0.4.3/kubectl-tree_v0.4.3_linux_amd64.tar.gz
root@ubuntu-k8s-master01:~/software# tar zxvf kubectl-tree_v0.4.3_linux_amd64.tar.gz
root@ubuntu-k8s-master01:~/software# mv kubectl-tree /usr/local/bin/kubectl-tree
root@ubuntu-k8s-master01:~/software# kubectl create deployment demoapp-cilium --image=ikubernetes/demoapp:v1.0 --replicas=3
root@ubuntu-k8s-master01:~/software# kubectl get deploy
root@ubuntu-k8s-master01:~/software# kubectl tree deployment demoapp-cilium
W0306 02:13:48.361222    3093 warnings.go:70] metallb.io v1beta1 AddressPool is deprecated, consider using IPAddressPool
NAMESPACE  NAME                                                  READY  REASON  AGE
default    Deployment/demoapp-cilium                             -              13s
default    └─ReplicaSet/demoapp-cilium-65c55ccffb                -              13s
default      ├─Pod/demoapp-cilium-65c55ccffb-288mg               True           13s
default      │ └─CiliumEndpoint/demoapp-cilium-65c55ccffb-288mg  -              13s
default      ├─Pod/demoapp-cilium-65c55ccffb-fgwn6               True           13s
default      │ └─CiliumEndpoint/demoapp-cilium-65c55ccffb-fgwn6  -              13s
default      └─Pod/demoapp-cilium-65c55ccffb-shnmd               True           13s
default        └─CiliumEndpoint/demoapp-cilium-65c55ccffb-shnmd  -              12s

 

posted @ 2024-03-06 10:15  しみずよしだ  阅读(11)  评论(0)    收藏  举报