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"

posted @ 2022-05-03 20:23  潜龙~勿用  阅读(55)  评论(0编辑  收藏  举报