Как установить платформу Hasura на пользовательский VPS? - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу попробовать платформу Hasura для небольшого проекта.У меня есть ограничение по географическому расположению сервера, поэтому Digital Ocean не подходит.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Реализация ответа @ Shahidh

на VPS 1 Core, 2 Гб, Ubuntu 16.04 x86_64

обсуждение Discord

VPS:

ssh root@<your-vps-public-ip>

Установка Docker:

apt-get update && apt-get install -qy docker.io

Установка Kubernetes (тестировалась на v1.10)

:

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

get <kube-context> для custom-cluster.yaml:

 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
0 голосов
/ 24 сентября 2018

Вы можете установить Kubernetes на VPS (например, запустить Ubuntu), используя kubeadm , а затем настроить Hasura в этом кластере Kubernetes, следуя указаниям здесь .

AПример 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...