【发布时间】:2019-02-27 15:12:19
【问题描述】:
我想为小型项目尝试 Hasura 平台。 我对服务器的地理位置有限制,所以不适合Digital Ocean。
【问题讨论】:
标签: kubernetes vps hasura
我想为小型项目尝试 Hasura 平台。 我对服务器的地理位置有限制,所以不适合Digital Ocean。
【问题讨论】:
标签: kubernetes vps hasura
您可以使用 kubeadm 在 VPS(比如运行 Ubuntu)上安装 Kubernetes,然后按照指南 here 在该 Kubernetes 集群上设置 Hasura。
custom-cluster.yaml 示例可能如下所示:
name: '<cluster-name>'
alias: '<cluster-alias>'
kubeContext: '<kube-context>'
config:
namespace: hasura
configmap: controller-conf
infra:
provider: custom
metadata:
namespaces:
hasura: hasura
user: default
gateway:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
- name: ssh
port: 2022
protocol: TCP
targetPort: 22
selector:
app: gateway
externalIPs: ["<your-vps-public-ip>"]
postgres:
volume:
hostPath:
path: '/data/hasura-data'
name: postgres-pv
filestore:
volume:
hostPath:
path: '/data/hasura-data'
name: filestore-pv
sessionStore:
volume:
hostPath:
path: '/data/hasura-data'
name: redis-pv
【讨论】:
到 VPS 1 核、2 Gb、Ubuntu 16.04 x86_64
ssh root@<your-vps-public-ip>
安装 Docker:
apt-get update && apt-get install -qy docker.io
安装 Kubernetes (在 v1.10 上测试过)
curl -s https://packages.cloud.google.com/apt/dists/kubernetes-xenial/main/binary-amd64/Packages | grep Version | awk '{print $2}'
:
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -qy kubelet=1.10.11-00 kubeadm=1.10.11-00 kubectl=1.10.11-00
apt-mark hold kubelet kubeadm kubectl
kubeadm init --pod-network-cidr=10.244.0.0/16 \
--apiserver-advertise-address=<your-vps-public-ip> \
--kubernetes-version=1.10.11
export KUBECONFIG=/etc/kubernetes/admin.conf
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
kubectl taint nodes --all node-role.kubernetes.io/master-
mkdir -p /data/hasura-data
查看:kubectl get all --namespace=kube-system
mkdir ~/k8s/
scp root@<you-vps-public-ip>:/etc/kubernetes/admin.conf ~/k8s/
设置 Kubernetes 上下文:
export KUBECONFIG=~/k8s/admin.conf
检查:
kubectl get nodes
为 custom-cluster.yaml 获取 <kube-context>:
kubectl config current-context
安装 hasura 集群:
cd <project-directory>
hasura cluster install \
--file custom-cluster.yaml \
--domain=<your-vps-public-ip>.xip.io
将集群添加到项目中:
hasura cluster add --file custom-cluster.yaml
【讨论】:
hasura login。
hasura platform:conf apply