This is a simplified version of the configs found in the Vitess repo: https://github.com/youtube/vitess/tree/master/examples/kubernetes Here we use a single script to start all of Vitess, since the aim is just to show the end result. The full tutorial on our site goes into much more detail on each step: http://vitess.io/getting-started/
55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
apiVersion: v1
|
|
kind: ReplicationController
|
|
metadata:
|
|
name: etcd-{{cell}}
|
|
spec:
|
|
replicas: {{replicas}}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
component: etcd
|
|
cell: {{cell}}
|
|
app: vitess
|
|
spec:
|
|
volumes:
|
|
- name: certs
|
|
hostPath: {path: /etc/ssl/certs}
|
|
containers:
|
|
- name: etcd
|
|
image: vitess/etcd:v2.0.13-lite
|
|
volumeMounts:
|
|
- name: certs
|
|
readOnly: true
|
|
mountPath: /etc/ssl/certs
|
|
resources:
|
|
limits:
|
|
memory: "128Mi"
|
|
cpu: "100m"
|
|
command:
|
|
- bash
|
|
- "-c"
|
|
- >-
|
|
ipaddr=$(hostname -i)
|
|
|
|
global_etcd=$ETCD_GLOBAL_SERVICE_HOST:$ETCD_GLOBAL_SERVICE_PORT
|
|
|
|
cell="{{cell}}" &&
|
|
local_etcd_host_var="ETCD_${cell^^}_SERVICE_HOST" &&
|
|
local_etcd_port_var="ETCD_${cell^^}_SERVICE_PORT" &&
|
|
local_etcd=${!local_etcd_host_var}:${!local_etcd_port_var}
|
|
|
|
if [ "{{cell}}" != "global" ]; then
|
|
until etcdctl -C "http://$global_etcd"
|
|
set "/vt/cells/{{cell}}" "http://$local_etcd"; do
|
|
echo "[$(date)] waiting for global etcd to register cell '{{cell}}'";
|
|
sleep 1;
|
|
done;
|
|
fi
|
|
|
|
etcd -name $HOSTNAME -discovery {{discovery}}
|
|
-advertise-client-urls http://$ipaddr:4001
|
|
-initial-advertise-peer-urls http://$ipaddr:7001
|
|
-listen-client-urls http://$ipaddr:4001
|
|
-listen-peer-urls http://$ipaddr:7001
|
|
|