K8s LNMP

Run LNMP On K8s

【腾讯云】云服务器限时秒杀,1核2G首年99元! (opens new window)

开始 Kubernetes 之旅

部署 Kubernetes

在 Linux 单机(或集群中)使用 systemd 部署 Kubernetes

支持 Laravel

# K8s LNMP Docs

本文档 不会 一步一步的教你如何部署 Kubernetes,只是记录一些本人搭建时遇到的问题及一些关键提示或步骤,如果你在遇到问题时,选择对应的主题查看,也许会发现解决方法。

# 准备

  • Linux 知识
  • systemd 知识
  • Docker 知识

# 部署 Kubernetes

请查看 GitHub (opens new window) README.md 文件。

详细的搭建教程请查看这个项目:https://github.com/opsnull/follow-me-install-kubernetes-cluster

# YAML 文件

请在 deployment 文件夹查看。

# Service

Service 通过 Label Selector 来匹配一系列的 Pod,Label Selector 允许在 Label 上做一系列的逻辑操作。

# 服务暴露方式

  • https://blog.csdn.net/newcrane/article/details/79092577

  • https://blog.csdn.net/limx59/article/details/71717275

  • https://www.cnblogs.com/devilwind/p/8891636.html


internet
    |
------------
[ Services ]

# ClusterIP

ClusterIP 服务是 Kubernetes 的默认服务。它给你一个集群内的服务,集群内的其它应用都可以访问该服务。集群外部无法访问它。

如果 从Internet 没法访问 ClusterIP 服务,那么我们为什么要讨论它呢?那是因为我们可以通过 Kubernetes 的 proxy 模式来访问该服务!

# Nodeport

把 service 的 port 映射到每个节点内部指定 port 上,所有节点内部映射的 port 都一样。

NodePort Service 是通过在节点上暴漏端口,然后通过将端口映射到具体某个服务上来实现服务暴漏,比较直观方便,但是对于集群来说,随着 Service 的不断增加,需要的端口越来越多,很容易出现端口冲突,而且不容易管理。当然对于小规模的集群服务,还是比较不错的。

NodePort 服务主要有两点区别于普通的 ClusterIP 服务。第一,它的类型是 NodePort 。有一个额外的端口,称为 nodePort,它指定节点上开放的端口值 。如果你不指定这个端口,系统将选择一个随机端口。大多数时候我们应该让 Kubernetes 来选择端口,因为如评论中 thockin 所说,用户自己来选择可用端口代价太大。

# Loadbalancer (公有云)

LoadBlancer Service 是 Kubernetes 结合云平台的组件,如国外 GCE、AWS、国内阿里云等等,使用它向使用的底层云平台申请创建负载均衡器来实现,有局限性,对于使用云平台的集群比较方便。

Docker 桌面版也可以使用

# Ingress


internet
    |
[ Ingress ]
--|-----|--
[ Services ]

# Traefik (opens new window)

# 官方文档导引

# More Information

  • https://github.com/kubernetes/examples
  • https://my.oschina.net/u/3797264
  • https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
  • https://kubernetes.io/docs/reference/command-line-tools-reference/

# Build Docs(Vue Press)

$ npm i -g vuepress

$ vuepress dev

$ vuepress build