场景:我想通过容器和容器协调来重新创建我目前的堆栈,学习一些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等大型云提供商,所有这些都不在我的范围内,因为我甚至没有信用卡来注册和开设账户。
我需要能够学会如何利用自己的资源进行部署,所以在这里我想寻求一些帮助:)
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的映射。