k8s基础操作
可以查看资源分配情况
kubectl describe node
全局资源情况查看
kubectl api-resources
创建资源
kubectl apply -f ./my1.yaml
使用多个文件创建
kubectl apply -f ./my1.yaml -f ./my2.yaml
基于目录下的所有清单文件创建资源
kubectl apply -f ./dir
从 URL 中创建资源
kubectl apply -f https://git.io/vPieo
从标准输入创建多个Pod
apiVersion: v1
kind: Pod
metadata:
name: busybox-sleep
spec:
containers:
- name: busybox
image: busybox
args:
- sleep
- "1000000"
---
apiVersion: v1
kind: Pod
metadata:
name: busybox-sleep-less
spec:
containers:
- name: busybox
image: busybox
args:
- sleep
- "1000"
EOF
# 创建有多个 key 的 Secret
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
password: $(echo -n "s33msi4" | base64 -w0)
username: $(echo -n "jane" | base64 -w0)
EOF
get
列出一个或多个资源
类型 | 说明 |
---|---|
pods, pod, po | 列出pod信息 |
replicationcontroller, rc | 列出副本控制器 |
services, svc | 列出服务 |
ds | 列出守护程序集 |
参数 | 默认值 | 说明 |
---|---|---|
-A, --all-namespace | false | 返回所有命名空间的资源, 即使指定-n也无效 |
--chunk-size | 500 | 以块的形式返回大列表,而不是一次返回所有列表。传递0以禁用。 |
--ignore-not-found | false | true: 查找不到资源时不报错 |
-o, --output | '' | json,yaml,name,go-template,go-template-file,template,templatefile,jsonpath,jsonpath-as-json,jsonpath-file,custom-columns-file,custom-columns,wide * yaml: 以yaml格式输出详细配置 * wide: 以列表输出较详细的信息 * name: 仅打印资源名称 * json: 以json格式输出详细信息 |
--server-print | true | 是否打印从服务器接收的特定列信息, 比如: STATUS(运行状态), RESTARTS(重启次数) |
--show-labels | false | 查看对应资源设置的标签 |
--sort-by | '' | 接受 jsonpath 表达式, 比如按名称排序的pod列表 kubectl get pods --sort-by=.metadata.name |
--template | '' | |
-w, --watch | false | 监控资源变化, 开启一个常驻任务, 可使用pod name监控单个pod |
-n, --namespace | 命名空间 |
创建命名空间
kubectl create namespace
查询命名空间
kubectl get ns
删除命名空间
kubectl delete namespace NAME
yaml 配置
apiVersion: v1
kind: Namespace
metadata:
name: repo-nexus
labels:
name: repo-nexus
快速获得资源和版本
kubectl explain pod
kubectl explain Pod.apiVersion
查询node上已有的标签信息
kubectl get nodes --show-labels
为节点打标签
kubectl label node k8s-n-1 component=mysql