在Ubuntu 18.04 VPS上部署Kubernetes集群+Wordpress,并指向我的域名。

问题描述 投票:0回答:1

场景:我想通过容器和容器协调来重新创建我目前的堆栈,学习一些K8。

背景:我目前的开发栈包括Wordpress、NextCloud、BTCPayServer、Jitsi和Mail-in-a-box。所有的东西都是开源的,而且每个都在自己独立的KVM VPS中运行的很好。

目标:我的目标是能够在K8上部署同样的解决方案,以便在开发时能够扩展并获得更多的灵活性。

限制:我的预算有限,所以我在小型主机提供商(没有AWSGCEAzureDO等)的KVM VPS工作。

目前K8S的设置是1个Domain,1个Master+2个Worker: - Master 1:2xCPU,2gb RAM,50gb SSD,Master01_IP - Worker 1:1xCPU,1gb RAM,10gb SSD,Worker01_IP - Worker 2:2xCPU,3gb RAM,60gb SSD,Worker02_IP。

不知怎的,我设法让集群工作,我编辑了etchosts,每个服务器都有3个IP,运行主服务器,然后加入两个工人。

然后通过执行安装Wordpress。

helm install wordpress -test bitnamiwordpress。

我卡在了EXTERNAL-IP "待定 "中

$ kubectl get svc --namespace default -w wordpress-testwordpress-test LoadBalancer 10.104.15.90 "pending" 80:32577TCP,443:31388TCP 102s终端截图

我如何将部署EXTERNAL-IP暴露给我的一些可用IP(1个Master,2个Worker),这样我就可以通过访问mydomain.xyz来访问它?

我读过LoadBalancers,但大多数文档都提到了AWS、GCE、Azure、DigitalOcean等大型云提供商,所有这些都不在我的范围内,因为我甚至没有信用卡来注册和开设账户。

我需要能够学会如何利用自己的资源进行部署,所以在这里我想寻求一些帮助:)

wordpress kubernetes ubuntu-18.04
1个回答
1
投票
  1. 你可以部署一个入口控制器,如 nginx 并通过NodePort暴露入口控制器,然后使用入口资源通过nginx暴露服务。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: rewrite
  namespace: default
spec:
  rules:
  - host: mydomain.xyz
    http:
      paths:
      - backend:
          serviceName: coffee-svc
          servicePort: 80

由于域 mydomain.xyz 并非真正的域名,您可以只修改 /etc/hosts 的文件,从那里访问它,以获得系统的 mydomain.xyz 到NodeIP的映射。

  1. 另一个选择是使用 ㄗ髡叩ノ唬唬 它是LoadBalancer在没有云提供商的情况下对裸机的实现。
© www.soinside.com 2019 - 2024. All rights reserved.