mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-02 15:17:47 +00:00
clean up kubernetes.nu (#486)
* add the original kubectl command as description of abbreviation * replace nu-complete kube pods, services, deployments with `res via name` * kg support --jsonpath * kgp, kgs, kgd support --jsonpath * refactor kep, kdp, kgd, kdels * kg support --selector * kg support --wide - remove kgpl - kgp, kgd support --selector * kg support --watch and rename wide to verbose - remove kgpa (kg pod -A) - remove kgpw (kg pod -w) * add kind in output of `kg -v` used with multiple types such as `kg pod,svc -v` --------- Co-authored-by: agent <agent@nuc>
This commit is contained in:
parent
967fdabe30
commit
58a05e91da
1 changed files with 132 additions and 96 deletions
|
@ -44,34 +44,45 @@ export def `kcache flush` [] {
|
||||||
|
|
||||||
export-env {
|
export-env {
|
||||||
let-env KUBERNETES_SCHEMA_URL = $"file:///($env.HOME)/.config/kubernetes-json-schema/all.json"
|
let-env KUBERNETES_SCHEMA_URL = $"file:///($env.HOME)/.config/kubernetes-json-schema/all.json"
|
||||||
|
let-env KUBERNETES_RESOURCE_ABBR = {
|
||||||
|
s: services
|
||||||
|
d: deployments
|
||||||
|
p: pods
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
### file
|
# kubectl apply -f
|
||||||
export def kaf [p: path] {
|
export def kaf [p: path] {
|
||||||
kubectl apply -f $p
|
kubectl apply -f $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl diff -f
|
||||||
export def kdf [p: path] {
|
export def kdf [p: path] {
|
||||||
kubectl diff -f $p
|
kubectl diff -f $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl delete -f
|
||||||
export def kdelf [p: path] {
|
export def kdelf [p: path] {
|
||||||
kubectl delete -f $p
|
kubectl delete -f $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl apply -k
|
||||||
export def kak [p: path] {
|
export def kak [p: path] {
|
||||||
kubectl apply -k $p
|
kubectl apply -k $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl diff -k
|
||||||
export def kdk [p: path] {
|
export def kdk [p: path] {
|
||||||
kubectl diff -k $p
|
kubectl diff -k $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl delete -k
|
||||||
export def kdelk [p: path] {
|
export def kdelk [p: path] {
|
||||||
kubectl delete -k $p
|
kubectl delete -k $p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl kustomize (template)
|
||||||
export def kk [p: path] {
|
export def kk [p: path] {
|
||||||
kubectl kustomize $p
|
kubectl kustomize $p
|
||||||
}
|
}
|
||||||
|
@ -117,10 +128,12 @@ def "nu-complete kube ns" [] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl change context
|
||||||
export def kcc [ctx: string@"nu-complete kube ctx"] {
|
export def kcc [ctx: string@"nu-complete kube ctx"] {
|
||||||
kubectl config use-context $ctx
|
kubectl config use-context $ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl (change) namespace
|
||||||
export def kn [ns: string@"nu-complete kube ns"] {
|
export def kn [ns: string@"nu-complete kube ns"] {
|
||||||
kubectl config set-context --current $"--namespace=($ns)"
|
kubectl config set-context --current $"--namespace=($ns)"
|
||||||
}
|
}
|
||||||
|
@ -168,12 +181,12 @@ export def-env kcconf [name: string@"nu-complete kube ctx"] {
|
||||||
}
|
}
|
||||||
|
|
||||||
### common
|
### common
|
||||||
export def "nu-complete kube kind without cache" [] {
|
def "nu-complete kube kind without cache" [] {
|
||||||
kubectl api-resources | from ssv -a | get NAME
|
kubectl api-resources | from ssv -a | get NAME
|
||||||
| append (kubectl get crd | from ssv -a | get NAME)
|
| append (kubectl get crd | from ssv -a | get NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
export def "nu-complete kube kind" [] {
|
def "nu-complete kube kind" [] {
|
||||||
let ctx = (kube-config)
|
let ctx = (kube-config)
|
||||||
let cache = $'($env.HOME)/.cache/nu-complete/k8s-api-resources/($ctx.data.current-context).json'
|
let cache = $'($env.HOME)/.cache/nu-complete/k8s-api-resources/($ctx.data.current-context).json'
|
||||||
ensure-cache-by-lines $cache $ctx.path {||
|
ensure-cache-by-lines $cache $ctx.path {||
|
||||||
|
@ -186,28 +199,67 @@ export def "nu-complete kube kind" [] {
|
||||||
def "nu-complete kube res" [context: string, offset: int] {
|
def "nu-complete kube res" [context: string, offset: int] {
|
||||||
let ctx = ($context | parse cmd)
|
let ctx = ($context | parse cmd)
|
||||||
let def = ($ctx | get args.1)
|
let def = ($ctx | get args.1)
|
||||||
let ns = (do -i { $ctx | get '-n' })
|
let ns = if ($ctx.-n? | is-empty) { [] } else { [-n $ctx.-n] }
|
||||||
let ns = if ($ns|is-empty) { [] } else { [-n $ns] }
|
|
||||||
kubectl get $ns $def | from ssv -a | get NAME
|
kubectl get $ns $def | from ssv -a | get NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def "nu-complete kube res via name" [context: string, offset: int] {
|
||||||
|
let ctx = ($context | parse cmd)
|
||||||
|
let cmd = ($ctx | get args.0)
|
||||||
|
let def = ($env.KUBERNETES_RESOURCE_ABBR | get ($cmd | str substring (($cmd | str length) - 1)..))
|
||||||
|
echo $'($cmd), ($def)' | save -a ~/.nulog
|
||||||
|
let ns = if ($ctx.-n? | is-empty) { [] } else { [-n $ctx.-n] }
|
||||||
|
kubectl get $ns $def | from ssv -a | get NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
def "nu-complete kube path" [context: string, offset: int] {
|
||||||
|
}
|
||||||
|
|
||||||
|
# kubectl get
|
||||||
export def kg [
|
export def kg [
|
||||||
r: string@"nu-complete kube kind"
|
k: string@"nu-complete kube kind"
|
||||||
-n: string@"nu-complete kube ns"
|
r?: string@"nu-complete kube res"
|
||||||
--all (-A):bool
|
--namespace (-n): string@"nu-complete kube ns"
|
||||||
|
--jsonpath (-p): string@"nu-complete kube path"
|
||||||
|
--selector (-l): string
|
||||||
|
--verbose (-v): bool
|
||||||
|
--watch (-w): bool
|
||||||
|
--all (-A): bool
|
||||||
] {
|
] {
|
||||||
let n = if $all {
|
let n = if $all {
|
||||||
[-A]
|
[-A]
|
||||||
} else if ($n | is-empty) {
|
} else if ($namespace | is-empty) {
|
||||||
[]
|
[]
|
||||||
} else {
|
} else {
|
||||||
[-n $n]
|
[-n $namespace]
|
||||||
|
}
|
||||||
|
let r = if ($r | is-empty) { [] } else { [$r] }
|
||||||
|
let l = if ($selector | is-empty) { [] } else { [-l $selector] }
|
||||||
|
if ($jsonpath | is-empty) {
|
||||||
|
if ($verbose) {
|
||||||
|
kubectl get -o json $n $k $r | from json | get items
|
||||||
|
| each {|x|
|
||||||
|
{
|
||||||
|
name: $x.metadata.name
|
||||||
|
kind: $x.kind
|
||||||
|
ns: $x.metadata.namespace
|
||||||
|
created: ($x.metadata.creationTimestamp | into datetime)
|
||||||
|
metadata: $x.metadata
|
||||||
|
status: $x.status
|
||||||
|
spec: $x.spec
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if $watch {
|
||||||
|
kubectl get $n $k $r --watch
|
||||||
|
} else {
|
||||||
|
kubectl get $n $k $r | from ssv -a
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
kubectl get $n $k $r $"--output=jsonpath={($jsonpath)}" | from yaml
|
||||||
}
|
}
|
||||||
#let h = ($d | columns | str kebab-case)
|
|
||||||
#$d | rename ...$h
|
|
||||||
kubectl get $n $r | from ssv -a
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl create
|
||||||
export def kc [
|
export def kc [
|
||||||
r: string@"nu-complete kube kind"
|
r: string@"nu-complete kube kind"
|
||||||
-n: string@"nu-complete kube ns"
|
-n: string@"nu-complete kube ns"
|
||||||
|
@ -217,6 +269,7 @@ export def kc [
|
||||||
kubectl create $n $r $name
|
kubectl create $n $r $name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl get -o yaml
|
||||||
export def ky [
|
export def ky [
|
||||||
r: string@"nu-complete kube kind"
|
r: string@"nu-complete kube kind"
|
||||||
i: string@"nu-complete kube res"
|
i: string@"nu-complete kube res"
|
||||||
|
@ -226,6 +279,7 @@ export def ky [
|
||||||
kubectl get $n -o yaml $r $i
|
kubectl get $n -o yaml $r $i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl describe
|
||||||
export def kd [
|
export def kd [
|
||||||
r: string@"nu-complete kube kind"
|
r: string@"nu-complete kube kind"
|
||||||
i: string@"nu-complete kube res"
|
i: string@"nu-complete kube res"
|
||||||
|
@ -235,15 +289,17 @@ export def kd [
|
||||||
kubectl describe $n $r $i
|
kubectl describe $n $r $i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl edit
|
||||||
export def ke [
|
export def ke [
|
||||||
r: string@"nu-complete kube kind"
|
k: string@"nu-complete kube kind"
|
||||||
i: string@"nu-complete kube res"
|
r: string@"nu-complete kube res"
|
||||||
-n: string@"nu-complete kube ns"
|
-n: string@"nu-complete kube ns"
|
||||||
] {
|
] {
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
||||||
kubectl edit $n $r $i
|
kubectl edit $n $k $r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl delete
|
||||||
export def kdel [
|
export def kdel [
|
||||||
r: string@"nu-complete kube kind"
|
r: string@"nu-complete kube kind"
|
||||||
i: string@"nu-complete kube res"
|
i: string@"nu-complete kube res"
|
||||||
|
@ -256,13 +312,12 @@ export def kdel [
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
### node
|
# kubectl get nodes
|
||||||
export def kgno [] {
|
export def kgno [] {
|
||||||
kubectl get nodes -o wide | from ssv -a
|
kubectl get nodes -o wide | from ssv -a
|
||||||
| rename name status roles age version internal-ip external-ip os kernel runtime
|
| rename name status roles age version internal-ip external-ip os kernel runtime
|
||||||
}
|
}
|
||||||
|
|
||||||
### pods
|
|
||||||
def "nu-complete kube pods" [context: string, offset: int] {
|
def "nu-complete kube pods" [context: string, offset: int] {
|
||||||
let ctx = ($context | parse cmd)
|
let ctx = ($context | parse cmd)
|
||||||
let ns = (do -i { $ctx | get '-n' })
|
let ns = (do -i { $ctx | get '-n' })
|
||||||
|
@ -280,50 +335,27 @@ def "nu-complete kube ctns" [context: string, offset: int] {
|
||||||
kubectl get $ns pod $pod -o jsonpath={.spec.containers[*].name} | split row ' '
|
kubectl get $ns pod $pod -o jsonpath={.spec.containers[*].name} | split row ' '
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kgpl [] {
|
# kubectl get pods
|
||||||
kubectl get pods -o json
|
export def kgp [
|
||||||
| from json
|
r?: string@"nu-complete kube res via name"
|
||||||
| get items
|
--namespace (-n): string@"nu-complete kube ns"
|
||||||
| each {|x|
|
--jsonpath (-p): string@"nu-complete kube path"
|
||||||
let rs = $x.status.containerStatuses.0.restartCount
|
--selector (-l): string
|
||||||
{
|
] {
|
||||||
namespace: $x.metadata.namespace,
|
kg pods -n $namespace -p $jsonpath -l $selector $r
|
||||||
name: $x.metadata.name,
|
|
||||||
status: $x.status.phase,
|
|
||||||
restarts: ($rs | split row ' '| get 0 | into int),
|
|
||||||
age: ($x.status.startTime | into datetime)
|
|
||||||
}}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kgpa [] {
|
# kubectl edit pod
|
||||||
kubectl get pods -o wide -A | from ssv -a
|
export def kep [-n: string@"nu-complete kube ns", pod: string@"nu-complete kube res via name"] {
|
||||||
| rename namespace name ready status restarts age ip node
|
ke -n $n pod $pod
|
||||||
| each {|x| ($x| upsert restarts ($x.restarts|split row ' '| get 0 | into int)) }
|
|
||||||
| reject 'NOMINATED NODE' 'READINESS GATES'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kgp [-n: string@"nu-complete kube ns"] {
|
# kubectl describe pod
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
export def kdp [-n: string@"nu-complete kube ns", pod: string@"nu-complete kube res via name"] {
|
||||||
kubectl get pods $n -o wide | from ssv -a
|
kd -n $n pod $pod
|
||||||
| rename name ready status restarts age ip node
|
|
||||||
| each {|x| ($x| upsert restarts ($x.restarts|split row ' '| get 0 | into int)) }
|
|
||||||
| reject 'NOMINATED NODE' 'READINESS GATES'
|
|
||||||
}
|
|
||||||
|
|
||||||
export def kgpw [] {
|
|
||||||
kubectl get pods --watch
|
|
||||||
}
|
|
||||||
|
|
||||||
export def kep [-n: string@"nu-complete kube ns", pod: string@"nu-complete kube pods"] {
|
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
|
||||||
kubectl edit pod $n $pod
|
|
||||||
}
|
|
||||||
|
|
||||||
export def kdp [-n: string@"nu-complete kube ns", pod: string@"nu-complete kube pods"] {
|
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
|
||||||
kubectl describe pod $n $pod
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl attach (exec -it)
|
||||||
export def ka [
|
export def ka [
|
||||||
pod: string@"nu-complete kube pods"
|
pod: string@"nu-complete kube pods"
|
||||||
-n: string@"nu-complete kube ns"
|
-n: string@"nu-complete kube ns"
|
||||||
|
@ -335,6 +367,7 @@ export def ka [
|
||||||
kubectl exec $n -it $pod $c -- (if ($args|is-empty) { 'bash' } else { $args })
|
kubectl exec $n -it $pod $c -- (if ($args|is-empty) { 'bash' } else { $args })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl logs
|
||||||
export def kl [
|
export def kl [
|
||||||
pod: string@"nu-complete kube pods"
|
pod: string@"nu-complete kube pods"
|
||||||
--namespace(-n): string@"nu-complete kube ns"
|
--namespace(-n): string@"nu-complete kube ns"
|
||||||
|
@ -345,6 +378,7 @@ export def kl [
|
||||||
kubectl logs $n $pod $c
|
kubectl logs $n $pod $c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl logs -f
|
||||||
export def klf [
|
export def klf [
|
||||||
pod: string@"nu-complete kube pods"
|
pod: string@"nu-complete kube pods"
|
||||||
--namespace(-n): string@"nu-complete kube ns"
|
--namespace(-n): string@"nu-complete kube ns"
|
||||||
|
@ -358,6 +392,7 @@ export def klf [
|
||||||
def "nu-complete port forward type" [] {
|
def "nu-complete port forward type" [] {
|
||||||
[pod svc]
|
[pod svc]
|
||||||
}
|
}
|
||||||
|
# kubectl port-forward
|
||||||
export def kpf [
|
export def kpf [
|
||||||
res: string@"nu-complete port forward type"
|
res: string@"nu-complete port forward type"
|
||||||
target: string@"nu-complete kube res"
|
target: string@"nu-complete kube res"
|
||||||
|
@ -388,6 +423,7 @@ def "nu-complete kube cp" [cmd: string, offset: int] {
|
||||||
$files | append $ctn
|
$files | append $ctn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# kubectl cp
|
||||||
export def kcp [
|
export def kcp [
|
||||||
lhs: string@"nu-complete kube cp"
|
lhs: string@"nu-complete kube cp"
|
||||||
rhs: string@"nu-complete kube cp"
|
rhs: string@"nu-complete kube cp"
|
||||||
|
@ -399,53 +435,45 @@ export def kcp [
|
||||||
kubectl cp $n $lhs $c $rhs
|
kubectl cp $n $lhs $c $rhs
|
||||||
}
|
}
|
||||||
|
|
||||||
### service
|
# kubectl get services
|
||||||
def "nu-complete kube service" [context: string, offset: int] {
|
export def kgs [
|
||||||
let ctx = ($context | parse cmd)
|
r?: string@"nu-complete kube res via name"
|
||||||
let ns = (do -i { $ctx | get '-n' })
|
--namespace (-n): string@"nu-complete kube ns"
|
||||||
let ns = if ($ns|is-empty) { [] } else { [-n $ns] }
|
--jsonpath (-p): string@"nu-complete kube path"
|
||||||
kubectl get $ns services | from ssv -a | get NAME
|
--selector (-l): string
|
||||||
|
] {
|
||||||
|
kg services -n $namespace -p $jsonpath -l $selector $r
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kgs [-n: string@"nu-complete kube ns"] {
|
# kubectl edit service
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
export def kes [svc: string@"nu-complete kube res via name", -n: string@"nu-complete kube ns"] {
|
||||||
kubectl get $n services | from ssv -a
|
ke -n $n service $svc
|
||||||
| rename name type cluster-ip external-ip ports age selector
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kes [svc: string@"nu-complete kube service", -n: string@"nu-complete kube ns"] {
|
# kubectl delete service
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
export def kdels [svc: string@"nu-complete kube res via name", -n: string@"nu-complete kube ns"] {
|
||||||
kubectl edit $n service $svc
|
kdel -n $n service $svc
|
||||||
}
|
}
|
||||||
|
|
||||||
export def kdels [svc: string@"nu-complete kube service", -n: string@"nu-complete kube ns"] {
|
# kubectl get deployments
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
export def kgd [
|
||||||
kubectl delete $n service $svc
|
r?: string@"nu-complete kube res via name"
|
||||||
|
--namespace (-n): string@"nu-complete kube ns"
|
||||||
|
--jsonpath (-p): string@"nu-complete kube path"
|
||||||
|
--selector (-l): string
|
||||||
|
] {
|
||||||
|
kg -n $namespace deployments -p $jsonpath -l $selector $r
|
||||||
}
|
}
|
||||||
|
|
||||||
### deployments
|
# kubectl edit deployment
|
||||||
def "nu-complete kube deployments" [context: string, offset: int] {
|
export def ked [d: string@"nu-complete kube res via name", -n: string@"nu-complete kube ns"] {
|
||||||
let ctx = ($context | parse cmd)
|
ke -n $n deployments $d
|
||||||
let ns = (do -i { $ctx | get '-n' })
|
|
||||||
let ns = if ($ns|is-empty) { [] } else { [-n $ns] }
|
|
||||||
kubectl get $ns deployments | from ssv -a | get NAME
|
|
||||||
}
|
|
||||||
|
|
||||||
export def kgd [-n: string@"nu-complete kube ns"] {
|
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
|
||||||
kubectl get $n deployments -o wide | from ssv -a
|
|
||||||
| rename name ready up-to-date available age containers images selector
|
|
||||||
| reject selector
|
|
||||||
}
|
|
||||||
|
|
||||||
export def ked [d: string@"nu-complete kube deployments", -n: string@"nu-complete kube ns"] {
|
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
|
||||||
kubectl edit $n deployments $d
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def "nu-complete num9" [] { [1 2 3] }
|
def "nu-complete num9" [] { [1 2 3] }
|
||||||
|
# kubectl scale deployment
|
||||||
export def ksd [
|
export def ksd [
|
||||||
d: string@"nu-complete kube deployments"
|
d: string@"nu-complete kube res via name"
|
||||||
num: string@"nu-complete num9"
|
num: string@"nu-complete num9"
|
||||||
-n: string@"nu-complete kube ns"
|
-n: string@"nu-complete kube ns"
|
||||||
] {
|
] {
|
||||||
|
@ -456,8 +484,9 @@ export def ksd [
|
||||||
kubectl scale $n deployments $d --replicas $num
|
kubectl scale $n deployments $d --replicas $num
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# kubectl scale deployment with reset
|
||||||
export def ksdr [
|
export def ksdr [
|
||||||
d: string@"nu-complete kube deployments"
|
d: string@"nu-complete kube res via name"
|
||||||
num: int@"nu-complete num9"
|
num: int@"nu-complete num9"
|
||||||
-n: string@"nu-complete kube ns"
|
-n: string@"nu-complete kube ns"
|
||||||
] {
|
] {
|
||||||
|
@ -472,14 +501,20 @@ export def ksdr [
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl rollout status deployment
|
||||||
export alias krsd = kubectl rollout status deployment
|
export alias krsd = kubectl rollout status deployment
|
||||||
|
# kubectl get rs
|
||||||
export alias kgrs = kubectl get rs
|
export alias kgrs = kubectl get rs
|
||||||
export def krh [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube deployments"] {
|
|
||||||
|
# kubectl rollout history
|
||||||
|
export def krhd [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube res via name"] {
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
||||||
let v = if ($revision|is-empty) { [] } else { [ $"--revision=($revision)" ] }
|
let v = if ($revision|is-empty) { [] } else { [ $"--revision=($revision)" ] }
|
||||||
kubectl $n rollout history $"deployment/($dpl)" $v
|
kubectl $n rollout history $"deployment/($dpl)" $v
|
||||||
}
|
}
|
||||||
export def kru [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube deployments"] {
|
|
||||||
|
# kubectl rollout undo
|
||||||
|
export def krud [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube res via name"] {
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
||||||
let v = if ($revision|is-empty) { [] } else { [ $"--to-revision=($revision)" ] }
|
let v = if ($revision|is-empty) { [] } else { [ $"--to-revision=($revision)" ] }
|
||||||
kubectl $n rollout undo $"deployment/($dpl)" $v
|
kubectl $n rollout undo $"deployment/($dpl)" $v
|
||||||
|
@ -487,7 +522,7 @@ export def kru [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: str
|
||||||
export alias ksss = kubectl scale statefulset
|
export alias ksss = kubectl scale statefulset
|
||||||
export alias krsss = kubectl rollout status statefulset
|
export alias krsss = kubectl rollout status statefulset
|
||||||
|
|
||||||
### kubectl top pod
|
# kubectl top pod
|
||||||
export def ktp [-n: string@"nu-complete kube ns"] {
|
export def ktp [-n: string@"nu-complete kube ns"] {
|
||||||
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
let n = if ($n|is-empty) { [] } else { [-n $n] }
|
||||||
kubectl top pod $n | from ssv -a | rename name cpu mem
|
kubectl top pod $n | from ssv -a | rename name cpu mem
|
||||||
|
@ -498,6 +533,7 @@ export def ktp [-n: string@"nu-complete kube ns"] {
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# kubectl top pod -all
|
||||||
export def ktpa [] {
|
export def ktpa [] {
|
||||||
kubectl top pod -A | from ssv -a | rename namespace name cpu mem
|
kubectl top pod -A | from ssv -a | rename namespace name cpu mem
|
||||||
| each {|x| {
|
| each {|x| {
|
||||||
|
@ -508,7 +544,7 @@ export def ktpa [] {
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
|
|
||||||
### kube top node
|
# kubectl top node
|
||||||
export def ktn [] {
|
export def ktn [] {
|
||||||
kubectl top node | from ssv -a | rename name cpu pcpu mem pmem
|
kubectl top node | from ssv -a | rename name cpu pcpu mem pmem
|
||||||
| each {|x| {
|
| each {|x| {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue