02-k8s资源-初体验

一、资源清单的组成

apiVersion:v1    #对应不同的k8s版本中的api;

kind:Pod            #资源的名称(service、ConfigMap、hpa…)

metadata:          #声明资源的元数据信息(资源的名称)

spec:                 #使用者期望的运行状态;

##################################################

隐藏组成部分(了解),【status】 :#资源的实际运行状态,由k8s自动维护的;

二、创建一个简单的资源

1,创建一个工作目录

[root@k8s231 ~]# mkdir /xinjizhiwa/pod -pv
[root@k8s231 ~]# cd /xinjizhiwa/pod

2,编辑清单(yaml文件)

[root@k8s231 pod]# vim 01-pod-nginx.yaml
apiVersion: v1
kind: Pod
metadata:
  name: m-nginx
spec:

#声明拉取的容器
  containers:

#容器名
    - name: c-nginx

#选择的镜像
      image: nginxL1.20.1-alpine

3,创建资源

[root@k8s231 pod]# kubectl apply -f 01-pod-nginx.yaml 
pod/m-nginx created

三、资源的管理命令

1,创建/修改资源

#创建、修改都用它;

kubectl apply -f 01-pod-nginx.yaml

kubectl create -f 01-pod-nginx.yaml   #几乎不用;

2,查看资源

[root@k8s231 pod]# kubectl get pods 
NAME      READY   STATUS             RESTARTS   AGE
m-nginx   0/1     InvalidImageName   0          3m28s

这里发现状态不是running;

#查看pod的详细信息;

[root@k8s231 pod]# kubectl describe pods m-nginx

如果我想知道,pod运行在哪个节点怎么办?

[root@k8s231 pod]# kubectl get pods -o wide

3,删除资源

[root@k8s231 pod]# kubectl delete pods m-nginx

#所有的资源名称,支持简写

[root@k8s231 pod]# kubectl delete po m-nginx 
pod “m-nginx” deleted

四、资源清单字段写法查询-explain

[root@k8s231 ~]# kubectl explain pods.metadata
KIND:     Pod
VERSION:  v1

RESOURCE: metadata

字段写法释义:

  #不能在后面写数据内容,在下级字段写。。。

    #可以在后面写字符串;

<[]Object> #(数组对象)后面不能写东西,需要在下级此段写东西,下面的第一个字段需要加“-”

#后面只能加true、false

   #对应的是整型,一个整数;

<map[string]string>  #go语言的map类型,自定义的键值对(key是字符串,value也是字符串)

五、故障排查初体验describe

1,模拟创建pod错误

[root@k8s231 pod]# vim 02-pod-nginx.yaml

apiVersion: v1
kind: Pod
metadata:
  name: m-nginx-02
spec:
  containers:
    - name: c-nginx-02
      #故意写错镜像的标签名;
      image: nginxx:1.20.1-alpine

创建pod

[root@k8s231 pod]# kubectl apply -f 02-pod-nginx.yaml 
pod/m-nginx-02 created

查看pod,发现错误,镜像状态不是running。

[root@k8s231 pod]# kubectl get pods -o wide

2,查看pod的详细信息describe

[root@k8s231 pod]# kubectl describe pods m-nginx-02

根据events信息,可以知道是拉取镜像,没有成功;

发现是资源清单中的image对应的标签写错了;

修改yaml资源清单,重新创建pod;

3,总结排错过程

#1,发现错误报错

kubectl  get  资源类型   资源名   # 发现不是running;

#2,查看资源的详细信息

kubectl  describe  资源类型  资源名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值