02 k8s~常用命令
创建Pod:
kubectl create -f 01-alpine.yaml
适合创建资源,并不支持重复执行!
kubectl apply -f 01-alpine.yaml
适合创建资源,支持重复执行,因此其可以被用作更新资源!
查看Pod:
kubectl get po
查看pod的简短信息.
kubectl get po -o wide
查看IP向的信息
kubectl get po -o yaml
查看yaml配置文件的信息
kubectl get po --show-labels
查看pod的标签.
kubectl get -f 01-alpine.yaml
查看某个文件中定义的资源
删除Pod:
kubectl delete pod abao-nginx
基于命令行的方式删除Pod
kubectl delete -f 01-alpine.yaml
基于文件行的方式删除Pod
kubectl delete -f .
删除当前目录下的所有的yaml文件.
修改Pod:
kubectl apply -f 01-alpine.yaml
自动补全:
vim ~/.bashrc
source <(kubectl completion bash)
创建ns:
基于命令行
kubectl create ns abao-linux
基于文件
cat > 03-abao-linux-ns.yml <<EOF
kind: Namespace
apiVersion: v1
metadata:
name: abao-linux
labels:
school: abao
class: linux
EOF
删除ns:
kubectl delete ns abao-linux
使用ns:
cat > 01-nginx.yaml <<EOF
资源的类型
kind: Pod
# API的版本号
apiVersion: v1
# 元数据信息
metadata:
# 资源的名称
name: abao-nginx
# 指定资源所属的名称空间
namespace: abao-linux
# 自定义资源的标签,其中的KV由你自定义即可.
labels:
disk: ssd
school: abao
# Pod的定义,主要描述这个Pod运行什么服务
spec:
# 指定容器相关的配置
containers:
- name: nginx # 容器的名字
image: k8s101.abao.com:5000/nginx:1.14 # 指定容器的镜像地址
ports: # 指定容器的暴露端口
- containerPort: 80 # 暴露容器的80端口
EOF
资源限制案例:
cat > 03-alpine-limit.yaml <<EOF
# 资源的类型
kind: Pod
# API的版本号
apiVersion: v1
# 元数据信息
metadata:
# 资源的名称
name: abao-alpine
# 指定当前资源所属的名称空间
namespace: abao-linux
# 自定义资源的标签,其中的KV由你自定义即可.
labels:
school: abao
class: linux
# Pod的定义,主要描述这个Pod运行什么服务
spec:
# 指定容器相关的配置
containers:
- name: abao-alpine # 容器的名字
image: k8s101.abao.com:5000/alpine # 指定容器的镜像地址
command: ["sleep","99999999"]
resources:
limits:
cpu: 100m
memory: 10M
requests: # 运行容器所需要的资源限制,若不符合的节点将不会被调度.
cpu: 100m # 1core = 1000m
memory: 10M
# memory: 10G
EOF
测试:
dd if=/dev/zero of=/dev/null bs=2G
alias kubectl="kubectl -s 10.0.0.101:8080"