03.kubectl命令行工具的使用

k8s核心资源管理的三种方法:

①命令行CLI工具进行管理
②同一资源配置清单manifest进行管理
③web页面进行管理


获取资源信息get

kubectl get resource [-o wide|json|yaml] [-n namespace]
-n 指定名称空间,-o 指定输出格式
resource可以是具体资源名称,如查找叫nginx-dp的deployment可以写作: deployment nginx-dp;
也可以是资源类型,如pod;或者all

获取名称空间
kubectl get namespace
kubectl get ns

获取DEFAULT名称空间里的所有资源(默认是default 所以查询defaulte的资源时, 可以省略-n default)
kubectl get all -n default


创建资源create

kubectl create resourece [options]

 # 创建名称空间app
 kubectl create namespace app    

可以用kubectl  get ns进行查看
[root@hdss7-21 ~]# kubectl get ns app
NAME   STATUS   AGE
app    Active   10s
可以用kubectl delete app 进行删除


# 创建deployment,叫做nginx-dp,在app名称空间下,镜像是harbor.od.com/public/nginx:latest
[root@hdss7-21 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:latest -n app
查看app下的deployment
kubectl get deploy -n app
查看pods
kube get pods -n app
#-wide扩展的方式,
kube get pods -n app -o wide
#describe ,查看详细描述
kubectl describe deployment nginx-dp -n app


创建service资源()
[root@hdss7-21 ~]# kubectl expose deployment nginx-dp --port=80 --target-port=80 --name=app-svc -n app
[root@hdss7-21 ~]# kubectl describe svc app-svc -n app
Name:              app-svc
Namespace:         app
Labels:            app=app-deploy
Annotations:       
Selector:          app=app-deploy
Type:              ClusterIP
IP:                192.168.28.124
Port:                80/TCP
TargetPort:        80/TCP
Endpoints:         172.7.21.8:80


进入pods (exec)

Usage: kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...] [options]

# 交互式方法 
#exec  交互式-it  指定bash
[root@hdss7-21 ~]# kubectl exec nginx-web-796c86d7cd-zx2b9 -it -- /bin/bash  
root@nginx-web-796c86d7cd-zx2b9:/# exit
exit

#非交互式. 直接查看文件cat /etc/resolv.conf
[root@hdss7-21 ~]# kubectl exec nginx-web-796c86d7cd-zx2b9 -- cat /etc/resolv.conf
nameserver 192.168.0.2
search default.svc.cluster.local svc.cluster.local cluster.local host.com
options ndots:5

也可以直接docker exec 进入容器

删除资源

Usage: kubectl delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)]) [options]

[root@hdss7-21 ~]# kubectl delete deployment app-deploy -n app

[root@hdss7-21 ~]# kubectl delete ns app


强制删除
--force --grace=period=0

通过资源配置清单(yaml/json)管理资源

查看资源配置清单
kubectl get svc nginx-dp -o yaml -n kube-public
解释资源配置清单
kubectl explain service
创建资源配置清单
vi /root/nginx-ds-svc.yaml
应用资源配置清单
kubectl apply -f nginx-ds-scv.yaml
修改资源配置清单
在线修改  kubectl edit service nginx-ds 在线编辑资源配置并保存生效
离线修改  修改nginx-ds-svc.yaml ,然后kubectl apply -f nginx-ds-scv.yaml 文件使其生效

kubectl create/apply/delete -f /path/to/yaml

****************************************华丽的分隔符*************************************


image.png

你可能感兴趣的:(03.kubectl命令行工具的使用)