文章 16
评论 3
浏览 252084
k8s基础命令

k8s基础命令

K8S组件介绍

journalctl -f -u kubelet.service
systemctl status kubelet.service
一、pod
1、pod配置
kubectl explain pod.spec                #查看k8s各资源清单
(1)使用yaml文件去创建pod,一级属性如下
apiVersion、kind、metadata、spec
(2)spec的常用子属性为containers、restartPolicy、nodeName和nodeSelector
(3)containers的常用子属性为 name、image、imagePullPolicy、command
2、pod生命周期
3、pod调度
(1)配置文件中声明nodeName或者nodeSelector——>定向调度                #重点掌握
(2)配置文件中声明affinity.nodeAffinity——>node亲和性调度             
                affinity.podAffinity——>pod亲和性调度
                affinity.PodAntiAffinity——>pod反亲和性调度         #这3个还有多个难搞的子属性
以上两种方式是通过对pod添加属性来决定pod是否调度到指定node上,当然也可以对node添加属性 Taints和Toleration来控制pod的调度
(3)污点和容忍
设置污点
kubectl taint node node_name key=value:effect #key和value是污点的标签 effect是描述污点的作用 有3个值 如tag=zqm:PreferNoSchedule/NoSchedule/NoExecute
去除单个污点
kubectl taint node node_name key:effect-
去除所有污点

4、常用命令
kubectl get pod -n dev -o wide/yaml      #dev是namespace的名称
kubctl describe pod pod_name -n dev      #查看pod详细信息
kubcetl create/run pod xxx:xxx -n dev    #直接创建pod
kubectl create -f xxx.yaml               #使用yaml文件创建pod
kubectl delete -f xxx.yaml 
kubectl delete pod pod_name -n dev --force --grace-period=0  #强制删除pod
kubectl exec -it pod_name -n dev -c containers_name /bin/sh  #进入容器中
kubectl top pod -n ns_name                                   #查看pod的cpu使用率 需先安装metrics-server 
kubectl label nodes nodeName key=value     #给节点打标签
二、pod控制器
Replicaset、Deployment、HPA、DaemonSet、Job和CronJob

pod扩缩容
命令行方式    kubcetl scale rs rs_name --replicas=2 -n ns_name
            kubectl scale deploy delpoy_name --replicas=2 -n ns_name
文本编辑方式  kubectl edit rs rs_name -n ns_name

pod中容器镜像升降级
命令行   kubectl set image rs rs_name containers_name=xxx:xxx -n dev
        kubectl set image deploy deploy_name containers_name=xxx:xxx -n dev #deploy控制器可指定两种升级策略Recreate和RollingUpdate
三、Service

四、volume数据存储
1、基本存储Emptydir——Hostpath——NFS(CIFS、GlusterFS...)
NFS需要先准备nfs服务器 企业中可能会单独去构建一个nfs集群
//基本存储都有致命缺陷 让用户直接操作nfs可能要求有点高 下面将该过程再细化

2、高级存储
pv是集群资源 没有ns  pvs是有ns的
nfs支持三种访问模式 具体详见官网
pv和pvs的访问模式需保持一致 否则会绑定不上

删除pod和pvc查看pv状态
3、配置文件的存储Configmap和Secret
edit修改configmap内容会动态更新

———————————————————CKA认证———————————————————————
kubeadm upgrade apply v1.25.11 --etcd-upgrade=false
kubectl -n kube-system edit cm kubeadm-config -o yaml


apt install kubelet=1.26.2-00 kubectl=1.26.2-00

————————————————containerd常用命令————————————————
ctr version
crictl image
ctr image pull redis:latest
ctr images rm docker.io/library/redis:latest
动态签名档

© 2024皖ICP备2024033306号

Designed with by 02Rider

加载中...

All of us will be better

取消