k8s学习
常用命令
k8s yaml文件名词释义及yaml模板
k8s部署及安装gitlab,jenkins,helm,nginx
使用Rancher快速搭建K8S
使用kubeadm快速搭建K8S
kubernetes-1.20 ingress-nginx 配置案例
k8s部署mysql案例,学习资源类型(nfs、pv、pvc、configmap、secret)
k8s参考网站
helm安装部署mysql
-
+
首页
常用命令
### 1.查看目前部署的资源 ``` kubectl get pods,service ``` ### 2.启动 ``` kubectl apply -f demo.yaml ``` ![](/media/202302//1677051583.3121705.png) ### 3.升级 ``` 1.滚动升级 直接修改yaml文件中的镜像images版本 查看升级过程 Kubectl describe deploy.yaml web 2.免交互升级 kubectl set image deployment(指定创建资源的角色/类型 ) web(元数据名称) nginx=nginx:1.18 ``` ### 4.资源创建 ``` # 通过文件创建一个Deployment kubectl create -f /path/to/deployment.yaml cat /path/to/deployment.yaml | kubectl create -f - # 不过一般可能更常用下面的命令来创建资源 kubectl apply -f /path/to/deployment.yaml # 通过kubectl命令直接创建 kubectl run nginx_app --image=nginx:1.9.1 --replicas=3 ``` ### 5.资源查看 ``` # 一般命令的格式会如下: kubectl get <resource_type> # 比如获取K8s集群下pod的信息 kubectl get pod # 更加详细的信息 kubectl get pod -o wide # 指定资源的信息,格式:kubectl get <resource_type>/<resource_name>,比如获取deployment nginx_app的信息 kubectl get deployment/nginx_app -o wide # 也可以对指定的资源进行格式化输出,比如输出格式为json、yaml等 kubectl get deployment/nginx_app -o json # 还可以对输出结果进行自定义,比如对pod只输出容器名称和镜像名称 kubectl get pod httpd-app-5bc589d9f7-rnhj7 -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image # 获取某个特定key的值还可以输入如下命令得到,此目录参照go template的用法,且命令结尾'\n'是为了输出结果换行 kubectl get pod httpd-app-5bc589d9f7-rnhj7 -o template --template='{{(index spec.containers 0).name}}{{"\n"}}' # 还有一些可选项可以对结果进行过滤,这儿就不一一列举了,如有兴趣,可参照kubectl get --help说明 ``` ### 6.回滚 ``` # 回滚之前先查看历史版本信息 kubectl rollout history deployment/nginx_app # 回滚 kubectl rollout undo deployment/nginx_app # 当然也可以指定版本号回滚至指定版本 kubectl rollout undo deployment/nginx_app --to-revision=<version_index> ``` ### 7.总结 ``` 1.获取namespace信息 kubectl get namespace 2.查看版本 kubectl version 3.对node的操作 3.1查看node列表详细信息: kubectl get node -o wide --all-namespaces kubectl get node -o wide | grep NotReady #筛选NotReady节点 3.2查看某个node详细信息 kubectl describe node + nodename 3.3 删除node kubectl delete node + nodename 4.对pod的操作 4.1查看pod列表信息 kubectl get pods -o wide --all-namespaces #查看所有pod; kubectl get po -o wide | grep -v Running #筛选状态不是Running的pod kubectl get po --all-namespaces | grep Evicted #筛选被驱逐的pod 4.2查看某个pod的详细信息、日志 kubectl describe po <pod name> kubectl logs -f <pod name> -n <namespace> kubectl logs --tail=10 <pod name> -n <namespace> //打印行数(想从最新的开始打印就tail=1或者2或者3,都可以,反正是想要打印最新的实时日志) kubectl -n middlewares logs mongo-mongodb-replicaset-0 -c bootstrap //bootstrap 可以查启动的日志? kubectl logs majordomo-7b7dcc8c7d-pb9z8 -c majordomo --previous 4.3 进入某个pod的方法。 kubectl exec -it majordomo-6fbff7f5bb-mqhwg -c majordomo /bin/bash //majordomo nc -zvw1 security-pass-fb-nonmotor-motor-hd-mid-0.security-pass-fb-nonmotor-motor-hd-mid-svc 29000 //在pod中查询网络外部pod的网络连接 4.4 删除pod,删除的pod会自动拉起。 kubectl delete pod <pod-name> -n <namespace> 5.对k8s相关配置项的操作 kubectl get cm --all-namespaces #查看所有配置项列表 kubectl get cm -n <namespaces> < xx-xx-cfg> -oyaml #查看某个配置项详情 kubectl edit cm -n <namespaces> < xx-xx-cfg> #编辑某个配置项的内容,修改后需要重启pod 6.查看应用 kubectl get deployment --all-namespaces #查看部署的应用; kubectl get deployment --namespace=kube-system kong -o yaml kubectl delete deployment --namespace=kube-system kong #删除指定的应用; 7.查看服务 kubectl get services --all-namespaces kubectl get service <serviceName> kubectl get rc,service #查看rc、service对象 kubectl get endpoints kubectl get endpoints --all-namespaces kubectl describe service <serviceName> --namespace=d07a12d56-fe42-4b27-a18 8.按照yaml或json格式查看pod信息,包含k8s的manage的pod的镜像的版本号: kubectl get pod podname --namespace=spacesname -o yaml 9.查看replicaset: kubectl get replicaset #replicaset是用来管理实例数量的,可以看成是rc/deployment的一个对象。 ```
admin
2023年2月22日 15:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码