k8s常用命令

k8s 资源类型的简写

资源类型简称
certificatesigningrequestscsr
componentstatusescs
configmapscm
customresourcedefinitioncrd
daemonsetsds
deploymentsdeploy
endpointsep
eventsev
horizontalpodautoscalershpa
ingressesing
limitrangeslimits
namespacesns
networkpoliciesnetpol
nodesno
persistentvolumeclaimspvc
persistentvolumespv
poddisruptionbudgetspdb
podspo
podsecuritypoliciespsp
replicasetsrs
replicationcontrollersrc
resourcequotasquota
serviceaccountssa
servicessvc
statefulsetssts
storageclassessc

使用yaml配置文件

# 使用yaml文件 导入k8s中的资源 语法
kubectl apply -f (文件名)
# 使用yaml文件 导入k8s中的资源 示例
kubectl apply -f test.yaml
# 使用yaml文件 删除k8s中的资源 语法
# kubectl delete -f 文件名
# 使用yaml文件 删除k8s中的资源 示例
kubectl delete -f test.yaml

获取信息

# 获取某namespace下的资源列表 语法
kubectl -n (namespace) get (type) -A [-o wide]
# 获取某namespace下的资源列表 示例
kubectl -n  kube-system get service -A
kubectl -n  kube-system get service -A -o wide

# 获取某个资源信息 语法
kubectl -n (namespace) get (type) (name) [-o wide]
# 获取某个资源信息 示例
kubectl -n kubesphere-system get service ks-controller-manager
kubectl -n kubesphere-system get service ks-controller-manager -o wide

# 获取某个资源 yaml 语法
kubectl -n (namespace) get (type) (name) -o yaml
# 获取某个资源 yaml 示例
kubectl -n  kubesphere-system get service ks-controller-manager -o yaml

# 获取某个资源 yaml文件 语法
kubectl -n (namespace) get (type) (name) -o yaml > (filename)
# 获取某个资源 yaml文件 示例
kubectl -n  kubesphere-system get service ks-controller-manager -o yaml > ks-controller-manager.yaml

# 获取某个资源 描述信息 语法
kubectl -n (namespace) describe (type) (name)
# 获取某个资源 描述信息 示例
kubectl -n  kubesphere-system  describe service ks-controller-manager

# 删除某个资源 语法
kubectl -n  (namespace) delete (type) (name)
# 删除某个资源 示例
kubectl -n  kubesphere-system delete service ks-controller-manager

查看pod日志

# 查看pod日志  语法
kubectl -n (namespace) logs -f  (podName)
# 查看pod日志  示例
kubectl -n  kubesphere-system  logs -f  ks-controller-manager-5648cdcf54-4wbvw
# 查看pod日志输出到文件  语法
kubectl -n (namespace) logs -f  (podName) > (logFileName)
# 查看pod日志输出到文件  示例
kubectl -n  kubesphere-system  logs -f ks-controller-manager-5597bc4988-6t2hl > 5597bc4988-6t2hl.log

pod中执行命令

# 进入pod 语法
kubectl -n (namespace) exec -it (podname) /bin/sh
kubectl -n (namespace) exec -it (podname) /bin/bash

# 进入pod 示例
kubectl -n hrx exec -it recruit-talent-web-649858fd7-wwtmz  /bin/sh
kubectl -n hrx exec -it recruit-talent-web-649858fd7-wwtmz  /bin/bash

删除Pod(更新资源时可使用删除pod方式让k8s自动重建pod)

删除名称包含’hbp-'的pod
kubectl -n hrx get pods | grep hbp- | awk ‘{print $1}’ | xargs kubectl -n hrx delete pod

kubectl patch

# 策略合并,入遇到数组会使用新的替换旧的数组
kubectl patch deployment patch-demo --type merge --patch "$(cat test_patch.yaml)"
# 策略合并,数组会生成并集
kubectl patch deployment patch-demo --type strategic --patch "$(cat test_patch.yaml)"
# type (默认 strategic) 同 策略合并
kubectl patch deployment patch-demo --patch "$(cat test_patch.yaml)"

# 策略合并,入遇到数组会使用新的替换旧的数组
kubectl patch deployment patch-demo --type merge --patch-file test_patch1.yaml
# 策略合并,数组会生成并集
kubectl patch deployment patch-demo --type strategic --patch-file test_patch1.yaml
# type (默认 strategic) 同 策略合并
kubectl patch deployment patch-demo --patch-file test_patch1.yaml

# json 示例
# 设置testdep副本数为4
kubectl patch -n test deployment testdep --patch '{"spec":{"replicas":4}}'

# yaml 示例(有数组时推荐)
fileName=hbp-s3adapter-s3volumes.yaml
echo 'spec:'                                   >   $fileName
echo '  template:'                             >>  $fileName
echo '    spec:'                               >>  $fileName
echo '      volumes:'                          >>  $fileName
echo '        - name: s3-volume'               >>  $fileName
echo '          persistentVolumeClaim:'        >>  $fileName
echo '            claimName: s3'               >>  $fileName
echo '      containers:'                       >>  $fileName
echo '        - name: hbp-s3adapter'           >>  $fileName
echo '          volumeMounts:'                 >>  $fileName
echo '            - name: s3-volume'           >>  $fileName
echo '              mountPath: /wls/wls81/s3'  >>  $fileName
kubectl -n hrx patch deployment hbp-s3adapter --patch-file $fileName
rm -f $fileName
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值