etcdctl w kontenerze

etcdctl w kontenerze

Jeżeli zastanawialiście się w jaki sposób korzystać z etcdctl w kontenerze to już pokazuję.

Dockerfile

Tworzymy plik Dockerfile. Założenie, korzystamy z najnowszej wersji.

FROM alpine 
RUN apk update \ 
&& apk add curl \ 
&& LAST_VERSION=$(curl --silent "https://api.github.com/repos/etcd-io/etcd/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') \ 
&& curl -L https://github.com/coreos/etcd/releases/download/$LAST_VERSION/etcd-$LAST_VERSION-linux-amd64.tar.gz -o etcd-$LAST_VERSION-linux-amd64.tar.gz \ 
&& tar xzvf etcd-$LAST_VERSION-linux-amd64.tar.gz \ 
&& rm etcd-$LAST_VERSION-linux-amd64.tar.gz \ 
&& cd etcd-$LAST_VERSION-linux-amd64 \ && cp etcd /usr/local/bin/ \ 
&& cp etcdctl /usr/local/bin/ \ 
&& rm -rf etcd-$LAST_VERSION-linux-amd64 
CMD sh -c 'sleep infinity'

 

Plik dostępny jest też w moim repozytorium.

Co dalej

Budujemy obraz

docker build -t etcdctl .

I pozostaje używać. Jeżeli nie chcecie budować własnego obrazu to możecie skorzystać z gotowego w Dockerhubie.

A jeżeli chcecie tylko uruchomić go w klastrze Kubernetesa to wystarczy:

kubectl run etcdctl --image=przemekmalak/etcdctl -- sh

ewentualnie, jeżeli pracujecie w wersji < 1.18 to

kubectl run etcdctl --image=przemekmalak/etcdctl --restart=Never -- sh

I macie gotowego poda z etcdctl. Pozostaje tylko działać.

 

Comments are closed.