k8s学习——常用命令操作
创建资源对象:
直接通过kubectl命令及相关的选项创建资源对象的方式:
kubectl run nginx-deploy --image=nginx:1.12 --replicas=2 # 创建名为nginx-deploy的Deployment控制器资源对象 kubectl expose deployment/nginx --name=nginx-svc --port=80 # 创建名为nginx-svc的Service资源对象
根据资源清单创建资源对象:
kubectl create -f nginx-deploy.yaml -f nginx-svc.yaml
将创建交由kubectl自行确定:
kubectl apply -f nginx-deploy.yaml -f nginx-svc.yaml
查看资源对象:
kubectl get namespaces # 系统上所有的Namespaces资源对象 kubectl get pods,services -o wide # 列出默认名称空间内的所有pod和service对象 kubectl get pods -l k8s-app -n kube-system # 列出kube-namespaces名称空间中拥有k8s-app标签名称的所有pod对象
打印资源对象的详细信息:
kubectl get pods -l component=kube-apiserver -o yaml -n kube-system # 查看kube-system名称空间中拥有标签component=kube-apiserver的pod对象的资源配置清单及当前的状态信息,并输出为yaml格式 kubectl describe pods -l component=kube-apiserver -n kube-system # 查看kube-system名称空间中拥有标签component=kube-apiserver的pod对象的详细描述信息
打印容器中的日志信息:
kubectl logs [-f] [-p] (POD|TYPE/NAME) [-c CONTAINER] [options]
kubectl logs kube-apiserver-master.ilinux.io -n kube-system # 查看名称空间kube-system中仅有一个容器的pod对象kube-apiserver-master.ilinux.io的日志 使用-f相当于使用tail -f持续监控
在容器中执行命令:
kubectl exec kube-apiserver-master.ilinux.io -n kube-system -- ps # 在kube-system名称空间中的Pod对象kube-apiserver-master.ilinux.io上的唯一容器中运行ps命令
删除资源对象:
kubectl delete services nginx-svc # 删除默认名称空间中名为nginx-svc的Service资源对象 kubectl delete pods -l app=monitor -n kube-system # 删除kube-system名称空间中拥有标签“k8s-app=kube-proxy”的所有pod对象 kubectl delete pods --all -n kube-public # 删除kube-public名称空间中的所有pod对象
人生就是要不断折腾