1.k8s入门文章
k8s命令行:
Kubernetes kubectl 与 Docker 命令关系 _ Kubernetes(K8S)中文文档_Kubernetes中文社区
K8s configMap:
Kubernetes 重新配置活动集群中节点的 Kubelet _ Kubernetes(K8S)中文文档_Kubernetes中文社区
K8s kubectl :命令表:
Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区
k8s yaml文件详解:
Kubernetes之yaml文件详解(汇总-详细) - 老耿博客 - 博客园
使用YAML创建一个 Kubernetes Depolyment_Kubernetes中文社区
k8s中文社区:
Kubernetes(K8S)中文文档_Kubernetes中文社区
kubetcl命令:
Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区
其他教程:
教程:
Kubernetes-mac上安装docker以及k8s_adson1987的博客-CSDN博客_mac 安装k8s
基础教程:
https://blog.csdn.net/u011510825/article/details/83008663
k8s问题汇总:
折腾kubernetes各种问题汇总 - ericnie - 博客园
解决deployment失败的问题:
使用describe命令进行Kubernetes pod错误排查-阿里云开发者社区
2.k8s命令
命令 | 用途 | 备注 |
kubectl get pods -n xxx | 获取各个pod信息 | -n后接namespace,另外可以使用-o wide 获取更详细信息 |
kubectl describe pod -n search | 获取pod的描述信息 | |
kubectl apply -f xxx.yaml | 部署k8s服务 | 使用-f指定k8s文件 |
kubectl logs xxx_pod -n xxx_namespace | 获取pod中的日志信息 | xxx_pod表示pod名称,xxx_namespace表示命名空间 |
kubectl delete -f xxx.yaml | 根据k8s配置文件删除服务 | 根据yaml内容,可能删除的是service,也有可能是 ConfigMap或其他类型 |
kubectl get services -n xxx_namespace 或: kubectl get svc -n xxx_namespace | 获取某个命名空间下的所有服务 | services可以替换为缩写的svc |
kubectl exec -it xxx_pod -n xxx_namespace -- bash | 进入pod查看 | -- bash:指定进入pod时候的shell解释器,也可以用/bin/bash等其他shell解释器 |
kubectl get namespaces | 获取所有的namespace | |
kubectl get nodes | 获取节点信息 | |
kubectl create namespace | 创建命名空间 | |
kubectl replace --force -f xxx.yaml | 重启k8s | 如果需要完全重启服务器,使用kubectl replace -f命令,可以实现几乎不停止的重启服务,不要先delete -f再apply -f |
3.k8s通信协议相关资料
K8s : 连接外网:
k8s跨namspace通信:
Kubernetes K8S之Pod跨namespace名称空间访问Service服务_踏歌行的专栏-CSDN博客_k8s 跨命名空间访问
Kubernetes K8S之Pod跨namespace名称空间访问Service服务 - 踏歌行666 - 博客园
K8s ipvs和iptable
K8S中iptables和ipvs区别_一念成佛_LHY的博客-CSDN博客_ipvs和iptables的区别
4.排查k8s的部署问题
排查k8s问题是个很大的命题,由于经验问题,在此我先提供一版自己的排查方法,希望大家积极补充:
一般k8s服务如果没有成功运行,可以按下述方式排查:
4.1获取错误pod
命令:kubectl get pods -n xxxx_namespace;
这时候根据状态信息,可以先找出一些问题,比如如果是ErrImagePull或ImagePullBackOff,基本就是镜像的问题,可能是镜像制作问题或镜像无法拉取。
可以docker pull 镜像查看是否镜像无法拉取;
4.2 排查pod问题
kubectl describe xxx_pod -n xxx_namespace 查看pod信息;
kubectl logs xxx_pod -n xxx_namespace 查看日志信息;
4.3进入pod查看相信的日志信息:
kubectl exec -it xxx_pod -n xxx_namespace -- bash,查看具体日志