k8s技术--Kubernetes集群kubectl命令的常见使用方法
kubectl [command] [TYPE] [NAME] [flags]
- command:指定您希望对一个或多个资源执行的操作,例如创建,获取,描述,删除。
- TYPE:指定资源类型。 资源类型区分大小写,可以使用单数,复数或缩写形式。
- NAME:指定资源的名称。 名称区分大小写。 如果省略名称,则会显示所有资源的详细信息,例如$ kubectl get pod。
- flags:指定可选标志。 例如,可以使用-s或--server标志来指定Kubernetes API服务器的地址和端口。
1、显示Pod的更多信息
2、创建资源对象
3、查看资源对象
4、查看rc和service列表
5、描述资源对象
6、删除资源对象
7、执行容器的命令
8、使用一些复杂过滤条件查看特定的资源对象
9、Pod的扩容缩容、滚动升级以及更新资源配置
10、查看容器的日志
11、Kubectl context和配置
创建 kubeconfig 文件
kubeconfig 为 kubectl 的配置文件,包含访问 apiserver 的所有信息,如 apiserver 地址、CA 证书和自身使用的证书;
- source /opt/k8s/bin/environment.sh
- # 设置集群参数
- kubectl config set-cluster kubernetes \
- --certificate-authority=/etc/kubernetes/cert/ca.pem \
- --embed-certs=true \
- --server=${KUBE_APISERVER} \
- --kubeconfig=kubectl.kubeconfig
- # 设置客户端认证参数
- kubectl config set-credentials admin \
- --client-certificate=admin.pem \
- --client-key=admin-key.pem \
- --embed-certs=true \
- --kubeconfig=kubectl.kubeconfig
- # 设置上下文参数
- kubectl config set-context kubernetes \
- --cluster=kubernetes \
- --user=admin \
- --kubeconfig=kubectl.kubeconfig
- # 设置默认上下文
- kubectl config use-context kubernetes --kubeconfig=kubectl.kubeconfig
--certificate-authority
:验证 kube-apiserver 证书的根证书;--client-certificate
、--client-key
:刚生成的admin
证书和私钥,连接 kube-apiserver 时使用;--embed-certs=true
:将 ca.pem 和 admin.pem 证书内容嵌入到生成的 kubectl.kubeconfig 文件中(不加时,写入的是证书文件路径);
分发 kubeconfig 文件
分发到所有使用 kubectl
命令的节点:
- source /opt/k8s/bin/environment.sh
- for node_ip in ${NODE_IPS[@]}
- do
- echo ">>> ${node_ip}"
- ssh k8s@${node_ip} "mkdir -p ~/.kube"
- scp kubectl.kubeconfig k8s@${node_ip}:~/.kube/config
- ssh root@${node_ip} "mkdir -p ~/.kube"
- scp kubectl.kubeconfig root@${node_ip}:~/.kube/config
- done
- 保存到用户的
~/.kube/config
文件;
12、在线编辑资源
13、节点和集群信息查询或调度方法
14、资源类型列表
资源类型
|
缩写别名
|
apiservices
|
|
certificatesigningrequests
|
csr
|
clusters
|
|
clusterrolebindings
|
|
clusterroles
|
|
componentstatuses
|
cs
|
configmaps
|
cm
|
controllerrevisions
|
|
cronjobs
|
|
customresourcedefinition
|
crd
|
daemonsets
|
ds
|
deployments
|
deploy
|
endpoints
|
ep
|
events
|
ev
|
horizontalpodautoscalers
|
hpa
|
ingresses
|
ing
|
jobs
|
|
limitranges
|
limits
|
namespaces
|
ns
|
networkpolicies
|
netpol
|
nodes
|
no
|
persistentvolumeclaims
|
pvc
|
persistentvolumes
|
pv
|
poddisruptionbudget
|
pdb
|
podpreset
|
|
pods
|
po
|
podsecuritypolicies
|
psp
|
podtemplates
|
|
replicasets
|
rs
|
replicationcontrollers
|
rc
|
resourcequotas
|
quota
|
rolebindings
|
|
roles
|
|
secrets
|
|
serviceaccounts
|
sa
|
services
|
svc
|
statefulsets
|
|
storageclasses
|
|
15、kubectl的格式化输出
输出格式
|
描述
|
-o=custom-columns=<spec>
|
使用逗号分隔的自定义列列表打印表格
|
-o=custom-columns-file=<filename>
|
使用 文件中的自定义列模板打印表格
|
-o=json
|
输出 JSON 格式的 API 对象
|
-o=jsonpath=<template>
|
打印 jsonpath 表达式中定义的字段
|
-o=jsonpath-file=<filename>
|
打印由 文件中的 jsonpath 表达式定义的字段
|
-o=name
|
仅打印资源名称
|
-o=wide
|
以纯文本格式输出任何附加信息,对于 Pod ,包含节点名称
|
-o=yaml
|
输出 YAML 格式的 API 对象
|
16、Kubectl 日志打印级别
详细等级
|
描述
|
--v=0
|
总是对操作人员可见。
|
--v=1
|
合理的默认日志级别,如果您不需要详细输出。
|
--v=2
|
可能与系统的重大变化相关的,有关稳定状态的信息和重要的日志信息。这是对大多数系统推荐的日志级别。
|
--v=3
|
有关更改的扩展信息。
|
--v=4
|
调试级别详细输出。
|
--v=6
|
显示请求的资源。
|
--v=7
|
显示HTTP请求的header。
|
--v=8
|
显示HTTP请求的内容。
|
k8s技术--Kubernetes集群kubectl命令的常见使用方法的更多相关文章
- Kubeadm部署K8S(kubernetes)集群(测试、学习环境)-单主双从
1. kubernetes介绍 1.1 kubernetes简介 kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理.目的是实现资源管理的自动 ...
- kubernetes集群管理命令(二)
系列目录 上一节我们介绍了一些基本的命令,这一节我们介绍一些更为复杂的命令. pod排序 使用kubectl get pod获取pod资源默认是以名称排序的,有些时候我们可能希望按其它顺序排序.比如说 ...
- kubernetes集群管理命令(三)
系列目录 前面两节我们由浅入深介绍了不少kubernetes管理比较常用的命令.本节我们通过案例讲解一些需要更为复杂的操作才能完成的命令. 选择一个deployment下的所有pod 前面讲到过,ku ...
- 常用的清理 Kubernetes 集群资源命令
1. Kubernetes 基础对象清理 清理 Evicted 状态的 Pod kubectl get pods --all-namespaces -o wide | grep Evicted | a ...
- Kubernetes集群管理工具kubectl命令技巧大全
一. kubectl概述 Kubectl是用于控制Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署. kubectl命令的语法如下 ...
- 用8个命令调试Kubernetes集群
如果使用任何系统的时间足够长,那么你肯定必须对其进行调试,Kubernetes也不例外.它是一个分布式系统,有许多运动部件.我们将介绍8个可以运行以调试任何Kubernetes集群的命令. 它将帮助你 ...
- 二进制安装部署kubernetes集群---超详细教程
本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱 ...
- 二进制文件方式安装kubernetes集群
所有操作全部用root使用者进行,高可用一般建议大于等于3台的奇数,我们使用3台master来做高可用 练习环境说明: 参考GitHub master: kube-apiserver,kube-con ...
- 使用Minikube运行一个本地单节点Kubernetes集群
使用Minikube是运行Kubernetes集群最简单.最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用. ⒈安装Minikube Mi ...
随机推荐
- 【CV】ICCV2015_Describing Videos by Exploiting Temporal Structure
Describing Videos by Exploiting Temporal Structure Note here: it's a learning note on the topic of v ...
- 网络:Xen理解
Xen是由剑桥大学计算机实验室开发的一个开源项目.是一个直接运行在计算机硬件之上的用以替代操作系统的软件层,它能够在计算机硬件上并发的运行多个客户操作系统(Guest OS). 一.Xen虚拟化类型 ...
- #Leetcode# 788. Rotated Digits
https://leetcode.com/problems/rotated-digits/ X is a good number if after rotating each digit indivi ...
- spring-web-4.3.3与spring-webmvc-4.3.3的区别
spring-web-4.3.3 http(http协议的实现类)和web包(应用,上下文,会话,cookies,过滤器等等) spring-webmvc-4.3.3 主要是一些view层的核心封装, ...
- [区块链]POW 与POS
POW:全称Proof ofWork,工作证明. 这是什么意思呢?就是说,你能获得多少货币,取决于你挖矿贡献的有效工作,也就是说,你电脑性能越好,分给你的矿就会越多,这就是根据你的工作证明来执行货币的 ...
- [转帖]UEFI和BIOS
UEFI和Legacy及UEFI+Legacy启动的区别 https://www.cnblogs.com/net5x/p/6850801.html 一直给人装系统 但是连这些最基本的都不知道 感觉自己 ...
- Java中对域和静态方法的访问不具有多态性
1.将方法调用同方法主体关联起来被称为 2.编译期绑定(静态)是在程序编译阶段就确定了引用对象的类型 3.运行期绑定(动态绑定)是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 ...
- 将ubuntu14.04 从mysql从5.5删除之后安装5.7遇到的一些问题(本篇不讨论热升级)
五一放假实在无聊 继续玩弄新的服务器.发现有台mysql版本实在有点老,估计是akiho直接使用 apt-get install mysql-server ,然后又没有更新到最新的源,然后无脑安装了5 ...
- ubuntu 环境 celery配置全解
继续尝试没有时间弄明白的技术. celery官方文档地址:http://docs.celeryproject.org/en/stable/getting-started/introduction.ht ...
- Jenkins之Linux和window配置区别
一.命令行配置 windows: java -jar .\libs\gen-html-report-1.0-SNAPSHOT.jar .\reports_%BUILD_NUMBER%.html .\t ...