Back to prev

Kubernetes Hard Way

Feb 25, 2021
Linkang Chan
@Jesse Chan

这篇比较介绍从不同地方学来的有关 k8s 的介绍和使用,可能会显得不太有章法。 内容还在不断更新和修正,使用前需要仔细斟酌一下。

理论

不同的场景使用不同的方式:

  • DeploymentforstateLessApps
  • StatefulSetforstatefulApps or DataBase

不过最好将数据库部署在 K8S 的集群外。


命令集锦

  • 获取当前所有的 pod,不限制命名空间。
$ kubectl get pod -A
  • 获取当前命名空间下所有的内容(pod,service,deploymenent)
$ kubectl get all -n namespace
  • 获取当前命名空间下所有的 configmap
$ kubectl get configmap -n namespace
  • 查看更详细的 pod 信息,主要是为可以看到 pod 在哪个节点上被调度之类的信息。
$ kubectl get pod -o wide -n namespace
  • 查看各个服务详细信息
$ kubectl -n namespace describe pod  xxxxxx
  • 查看系统的相关服务等,使用命名空间kube-system
$ kubectl -n kube-system get pod
  • 使用相同的配置重新创建一个失败的 pod
$ kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f -

这中间可以保存好生成的 yaml 文件,进行相应的修改,然后再执行 replace 操作