陈述式资源管理
命名空间
查看命名空间
[root@192-168-199-13 ~]# kubectl get namespace
# 可以简写为
[root@192-168-199-13 ~]# kubectl get ns
查询 default
空间下所有的资源
[root@192-168-199-13 ~]# kubectl get all -n default
创建一个名称为 app
的命名空间
[root@192-168-199-13 ~]# kubectl create ns app
删除名称为 app
的命名空间
[root@192-168-199-13 ~]# kubectl delete ns app
deployment
创建一个 deployment
资源
# deployment 可以简写为 deploy
[root@192-168-199-13 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public
查看 deployment
资源
# 简单查看
[root@192-168-199-13 ~]# kubectl get deploy -n kube-public
# 扩展查看
[root@192-168-199-13 ~]# kubectl get deploy -n kube-public -o wide
# 详细查看
[root@192-168-199-13 ~]# kubectl describe deployment nginx-dp -n kube-public
pods
查看 pod
资源
[root@192-168-199-13 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-ds-6z2cl 1/1 Running 1 23h
nginx-ds-ln87w 1/1 Running 1 23h
进入 pod
资源内部
[root@192-168-199-13 ~]# kubectl exec -it nginx-ds-6z2cl /bin/bash
声明式资源管理
查看 kube-public
命名空间内的 pod
[root@192-168-199-13 ~]# kubectl get pods -n kube-public
NAME READY STATUS RESTARTS AGE
nginx-dp-5dfc689474-2mlsq 1/1 Running 1 11d
获取资源配置清单
[root@192-168-199-13 ~]# kubectl get pods nginx-dp-5dfc689474-2mlsq -o yaml -n kube-public
查看pods
的资源配置清单写法
[root@192-168-199-13 ~]# kubectl explain pods
查看 pods
中 metadate
的用法
[root@192-168-199-13 ~]# kubectl explain pods.metadata
资源配置清单示例:
[root@192-168-199-13 ~]# cat nginx-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ds
name: nginx-ds
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx-ds
sessionAffinity: None
type: ClusterIP
根据资源配置清单创建 pod
[root@192-168-199-13 ~]# kubectl create -f nginx-ds-svc.yaml
获取service 信息
[root@192-168-199-13 ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 14d
nginx-ds ClusterIP 192.168.164.154 <none> 80/TCP 9s
将 nginx-ds
的配置信息以 yaml
的方式输出
[root@192-168-199-13 ~]# kubectl get svc nginx-ds -o yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2020-06-14T22:42:42Z"
labels:
app: nginx-ds
name: nginx-ds
namespace: default
resourceVersion: "238777"
selfLink: /api/v1/namespaces/default/services/nginx-ds
uid: 0128d415-acc5-43df-a235-87e75a72d86e
spec:
clusterIP: 192.168.164.154
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx-ds
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}