草庐IT

Kubernetes-命令记录大全

Chris0Yang 2023-10-10 原文

语法格式

kubectl [command] [type] [name] [flags]
kubectl create/apply/delete/ -f yaml文件

查看集群工作是否正常

kubectl cluster-info

查看此状态pod详细情况

kubectl describe pod bk-cmdb-hostserver-58c7675654-zfffp   

强制删除

kubectl get pods -n kube-system | grep ContainerCreating | awk '{print $1}' | xargs kubectl delete pod -n kube-system--force --grace-period=0

检查kubectl命名空间

kubectl get pods -n kube-system -o wide

查看集群中的所有的节点

kubectl get nodes

检查k8s集群 pod状态信息

kubectl describe pod(NAME)-n kube-system

重新部署k8s集群 yaml

kubectl apply -f myapp-deploy.yaml

k8s集群 logs查看日志

kubectl logs pod名 -n 命令空间

k8s删除命名空间

kubectl delete namespaces <insert-some-namespace-name>(命名名称)

切换当前context的namespace到 blueking。切换后,后面排查需要指定 -n XXX 的命令就可以省略了

kubectl config set-context --current --namespace=XXX
kubectl config view

定义Context(运行环境)

kubectl config set-cluster kubernetes-cluster --server=https://10.0.5.28:6443
kubectl config set-context ctx-dev --namespace=dev01 --cluster=kubernetes-cluster --user=user01
kubectl config set-context ctx-prod --namespace=dev02 --cluster=kubernetes-cluster --user=user02

Node的隔离与恢复

kubectl cordon <node_name>    # 某个Node进行隔离调度
kubectl uncordon <node_name>  # 对某个Node进行恢复调度

查看创建的状况

kubectl get pod --watch

查看所有名称空间

kubectl get namespaces  # 简化可以写:ns 

查看所有集群资源的信息

kubectl get all -n default

创建namespaces命名空间的信息

kubectl create ns Name名称

创建镜像的deployment

kubectl create deployment nginx-dp --image=harbor域名地址 -n 命令空间

更新deployment

kubectl apply -f nginx-deployment.yaml

增加节点标签 备注 =:代表增加标签

kubectl label nodes NAME node-role.kubernetes.io/(master、nodeX)=

减少节点标签 备注 -:代表减少标签

kubectl label nodes NAME node-role.kubernetes.io/NAME-

打污点

kubectl taint nodes node集群机器名 污点名=XXXX:NoSchedule

去除污点

kubectl taint nodes node集群机器名 污点名:effect-

去除所有污点

kubectl taint nodes node集群机器名 污点名-

使用jq解析 检查所有node节点的污点

kubectl get nodes -o json | jq '.items[].spec'

自定义添加一个标签

kubectl label nodes k8s-master01 nodeenv=k8s-master
kubectl describe nodes k8s-master01 | grep nodeenv
                    nodeenv=k8s-master

进入pod资源

kubectl exec -ti NAME -n 命令空间 /bin/bash

使用watch命令,是观察pod重建状态变化

watch -n 1 'kubectl describe deployament NAEM -n 命令空间 |grep -C 5 Event'

输出额外信息。对于Pod,将输出Pod所在的Node名

kubectl get pods -o wide

获取所有namespace下的pod

kubectl get pods -o wide -A

删除pod信息 可以通过 --force --grace-period=0来强制删除资源

kubectl delete pod NAME -n 命名空间 --force --grace-period=0

批量删除pod 或 pvc

kubectl get pod|grep 关键字|awk '{print $1}'|xargs kubectl delete pod
kubectl get pvc|grep 关键字|awk '{print $1}'|xargs kubectl delete pvc

删除namespace信息 可以通过 --force --grace-period=0来强制删除资源

kubectl delete namespace NAME --force --grace-period=0

检查K8S集群CPU状态

kubectl describe nodes | grep -EA2 '^Addresses|cpu |  memory '

描述 pod 部署信息

kubectl describe deployment NAME -n XXX |grep -C 5 Event

查看service

kubectl describe svc NAME -n 命令空间

获取资源yaml配置清单 pod信息

kubectl get pod NAME -o yaml -n 命令空间

查看资源配置清单 svc信息

kubectl get svc NAME -o yaml -n 命令空间

解释资源配置清单

kubectl explain service

创建资源配置清单

vim ~/root/nginx-dns-svc.yaml

应用资源配置清单

kubectl apply -f nginx-dns-svc.yaml

安装kubelet kubeadm kubectl 指定版本

yum list kubelet kubeadm kubectl --showduplicates|sort -r

有关Kubernetes-命令记录大全的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  3. ruby-on-rails - Rails 5 Active Record 记录无效错误 - 2

    我有两个Rails模型,即Invoice和Invoice_details。一个Invoice_details属于Invoice,一个Invoice有多个Invoice_details。我无法使用accepts_nested_attributes_forinInvoice通过Invoice模型保存Invoice_details。我收到以下错误:(0.2ms)BEGIN(0.2ms)ROLLBACKCompleted422UnprocessableEntityin25ms(ActiveRecord:4.0ms)ActiveRecord::RecordInvalid(Validationfa

  4. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  5. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  6. ruby-on-rails - 事件记录 : Select max of limit - 2

    我正在尝试将以下SQL查询转换为ActiveRecord,它正在融化我的大脑。deletefromtablewhereid有什么想法吗?我想做的是限制表中的行数。所以,我想删除少于最近10个条目的所有内容。编辑:通过结合以下几个答案找到了解决方案。Temperature.where('id这给我留下了最新的10个条目。 最佳答案 从您的SQL来看,您似乎想要从表中删除前10条记录。我相信到目前为止的大多数答案都会如此。这里有两个额外的选择:基于MurifoX的版本:Table.where(:id=>Table.order(:id).

  7. Ruby 守护进程导致 ActiveRecord 记录器 IOError - 2

    我目前正在用Ruby编写一个项目,它使用ActiveRecordgem进行数据库交互,我正在尝试使用ActiveRecord::Base.logger记录所有数据库事件具有以下代码的属性ActiveRecord::Base.logger=Logger.new(File.open('logs/database.log','a'))这适用于迁移等(出于某种原因似乎需要启用日志记录,因为它在禁用时会出现NilClass错误)但是当我尝试运行包含调用ActiveRecord对象的线程守护程序的项目时脚本失败并出现以下错误/System/Library/Frameworks/Ruby.frame

  8. ruby - 从 Ruby : capturing the output while displaying the output? 运行 shell 命令 - 2

    我有一个问题。我想从另一个ruby​​脚本运行一个ruby​​脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密

  9. ruby-on-rails - 在 Rails 中更高效地查找或创建多条记录 - 2

    我有一个应用需要发送用户事件邀请。当用户邀请friend(用户)参加事件时,如果尚不存在将用户连接到该事件的新记录,则会创建该记录。我的模型由用户、事件和events_user组成。classEventdefinvite(user_id,*args)user_id.eachdo|u|e=EventsUser.find_or_create_by_event_id_and_user_id(self.id,u)e.save!endendend用法Event.first.invite([1,2,3])我不认为以上是完成我的任务的最有效方法。我设想了一种方法,例如Model.find_or_cr

  10. ruby - 是否有将图像文件转换为 ASCII 艺术的命令行程序或库? - 2

    有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/

随机推荐