02-k8s资源-初体验
1,发现错误报错kubectlget资源类型资源名# 发现不是running;#2,查看资源的详细信息kubectldescribe资源类型资源名#3,找到问题所在Events字段下的创建过程信息;#4,根据问题所在的原因,去解决问题;当然,如果找不到原因,或者其他位置原因,可以先检查集群的节点状态;日(特指天的意思)后,你会对【资源】有更深入地了解,此篇笔记,只为简单介绍关于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: v1RESOURCE: metadata <Object>
......
字段写法释义:
<Object> #不能在后面写数据内容,在下级字段写。。。
<string> #可以在后面写字符串;
<[]Object> #(数组对象)后面不能写东西,需要在下级此段写东西,下面的第一个字段需要加“-”
<boolean> #后面只能加true、false
<integer> #对应的是整型,一个整数;
<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 资源类型 资源名
#3,找到问题所在Events字段下的创建过程信息;
#4,根据问题所在的原因,去解决问题;
当然,如果找不到原因,或者其他位置原因,可以先检查集群的节点状态;
[root@k8s231 pod]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s231 Ready control-plane,master 3d16h v1.23.17
k8s232 Ready <none> 3d15h v1.23.17
k8s233 Ready <none> 3d15h v1.23.17
六、总结
日(特指天的意思)后,你会对【资源】有更深入地了解,此篇笔记,只为简单介绍关于k8s的资源相关入门;
· 资源清单的组成
1,api-version
2,kind
3,metadata
4,spec
· 资源管理命令
1,创建/修改:kubectl apply -f 资源清单
kubectl create -f 资源清单
2,查看:kubectl get pods
kubectl get pods -o wide
kubectl describe 资源类型 资源名称
3,删除:kubectl delete 资源类型 资源名称
· 查看字段写法:explain
kubectl explain 资源名.一级字段.二级字段.三级字段..................
更多推荐
所有评论(0)