K8S Kubernetes常用命令

一、基础命令

资源类型资源简称
nodeno
namespacesns
deploymentdeploy
ReplicaSetrs
podpo
servicesvc
ingressing
DaemonSetsds
StatefulSetssts
ConfigMapcm
PersistentVolumepv
PersistentVolumeClaimpvc
HorizontalPodAutoscalerhpa
ComponentStatuscs
# 创建一个deployment 
cat >> nginx-deploy-test.yaml < EOF
apiVersion: apps/v1 #版本信息
kind: Deployment  #资源信息
metadata:   #元数据
  name: nginx-deploy  #资源名称
  namespace: default  #属于哪个命名空间下
spec: 
  replicas: 2   #一共有两个副本资源
  selector:
    matchLabels: 
      app: nginx
  template:      #pod创建模板
    metadata:
        labels:
          app: nginx 
    spec:
      containers:   #容器名称下边的容器可以有多个
      - image: nginx  #镜像名称
        imagePullPolicy: IfNotPresent  #镜像拉取策略
        name: nginx-test  #容器名称
      restartPolicy: Always  #重启策略
EOF

#部署上面的pam 资源
kubectl apply -f nginx-deploy-test.yaml
#也可以使用命令行方式,直接创建
kubectl create deploy nginx --image=nginx
#查看K8S版本信息
kubeadm version
kubectl version
kubelet --version

#查看pod 信息
kubectl get po -o wide
#查看deployment信息
kubectl get deploy
#查看rs 信息
kubectl get rs -o wide

#暴露service端口
kubectl expose deploy nginx-deploy --type=NodePort --port=80 --target-port=8000
#查看service
kubectl get svc

#查看K8S命名空间
kubectl get ns
#查看资源yaml信息,举例:kubectl get 资源名称 -o yaml -n 命名空间,如果命名空间不填默认为default
kubectl get deploy nginx-deploy -o yaml -n default

#进入k8s运行的容器
kubectl exec  demo-deploy-64575b5d97-txb4w -it -- /bin/bash
#退出容器
exit

#查看K8S集群健康状况
kubectl get cs
##create 方式基于端口做映射,expose 方式基于服务做映射
##创建无头服务
kubectl create svc clusterip nacos-headless --clusterip=None --tcp=8848:8848
##创建NodePort服务
kubectl create svc nodeport nacos-nodeport --tcp=8848:8848 --node-port=30848
##端口暴露NodePort
kubectl expose deploy nginx-deploy --type=NodePort --port=80 --target-port=8000
##创建ingress
##kubectl create ingress 名称 --rule=访问路径 / 匹配方式=svc的名称:端口
kubectl create ingress nginx-ing --rule=www.digua.com/*=nginx-deploy:80

#查看日志 查看报错
kubectl logs pod名称 -n 命名空间

#查看资源信息
kubectl describe deploy deploy名称 -n 命名空间

#标签查看
kubectl get 资源类型 --show-labels
kubectl get no --show-labels
#标签制作
kubectl label 资源类型 资源名称 标签key=标签value
kubectl label no slave cpu=8cup32g

#修改资源信息举例: kubectl edit 资源类型 资源名称 -n 命名空间
#如果 命名空间不填 默认为 default
kubectl edit pod nginx-deploy-86597ffd87-pz5bn -n default
kubectl edit deploy nginx-deploy
kubectl edit rs nginx-deploy-86597ffd87

#如果 yaml 文件有变动,运行apply 也是更新操作
kubectl apply -f nginx-deploy-test.yaml

#删除资源 kubectl delete 资源类型 资源名称 -n 命名空间 如果 命名空间不填 默认为 default
1.1 删除单个pod,如果pod是由deploy等创建的是无法完全删除,因为pod停止后,scheduler会重新扫描后再创建
kubectl delete po nginx-deploy-86597ffd87-djkws 
#删除默认命名空间下所有的pod,下边的删除也是同样的,只是改一下资源类型
kubectl delete po --all

1.2 删除rs,删除rs后 对应下边的pod也会删除,如果rs是通过deploy创建,会自动重新创建并顺便创建下边的pod
kubectl delete rs nginx-deploy-86597ffd87

1.3 删除deployment,删除deploy后下变得rs和pod都会被删除
kubectl delete deploy nginx-deploy

1.4 删除命名空间,删除命名空间后下边所有的pod、deploy、svc、rs都会删除
kubectl delete ns default
1.5 强制删除pod
kubectl delete po nginx-deploy-86597ffd87-djkws  --force --grace-period=0


#查看资源使用(cpu、内存使用)
kubectl top no

#滚动发布 滚动发布会保留deploy,会重新制作一个rs取代之前的rs 
#kubectl set image 资源类型/资源名 容器名称=镜像
kubectl set image deploy/test-deploy test=192.168.34.8:85/public/test:2

#版本回滚
##查看历史版本信息   kubectl rollout history 资源类型/资源名
kubectl rollout history deploy/test-deploy
##根据历史版本信息,指定版本进行回滚    kubectl rollout undo 资源类型/资源名 --to-revision=版本
kubectl rollout undo deploy/test-deploy --to-revision=4

#scale (pod扩容)、autoscale(自动扩容)
kubectl scale --replicas=资源数量 资源类型/资源名称

##kubectl autoscale 资源类型 资源名称 --min=最小pod数量 --max=最大pod数量 --cpu-percent=CPU达到40%时候
kubectl autoscale deploy nginx-deploy --min=1 --max=3 --cpu-percent=40
##查看自动扩容信息
kubectl get hpa 

secret (k8s 拉取harbor镜像配置)

#kubectl create secret docker-registry 名称 --docker-server=harbor的ip+端口 --docker-username=用户名 --docker-password=密码 --docker-email=邮箱(非必填)
kubectl create secret docker-registry 34.8harborregistry --docker-server=192.168.34.8:85 --docker-username=admin --docker-password=Harbor@2022 --docker-email=123@qq.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值