Rancher 2.x uses etcd to store everything. If you don't know how to backup that, you loose all info on clusters, etc. as you upgrade Rancher Server.
Here's how to get passed that!
Get container ID:
$ docker ps|grep rancher/rancher
{ | |
"ignition": { | |
"version": "2.0.0", | |
"config": {} | |
}, | |
"storage": { | |
}, | |
"systemd": {}, | |
"networkd": {}, | |
"passwd": { |
import os | |
import testinfra.utils.ansible_runner | |
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( | |
os.environ['MOLECULE_INVENTORY_FILE'] | |
).get_hosts('all') | |
def get_docker_services(host): |
FROM quay.io/ansible/molecule:2.22 | |
RUN apk add --update build-base | |
RUN pip install --upgrade pip | |
RUN pip install dnspython requests==2.20.1 docker docker-compose hcloud molecule[hetznercloud] |
version: '2' | |
services: | |
db: | |
image: mariadb:10.4 | |
environment: | |
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} | |
- MYSQL_DATABASE=${MYSQL_DATABASE} | |
- MYSQL_USER=${MYSQL_USER} | |
- MYSQL_PASSWORD=${MYSQL_PASSWORD} |
--- | |
# assume this is preceeded by the docker_container module above | |
- name: Get container IP | |
set_fact: | |
container_ip: "{{ my_service_status.ansible_facts.docker_container.NetworkSettings.IPAddress }}" | |
- name: Check container | |
wait_for: | |
host: "{{ container_ip }}" |
--- | |
- name: Start a service without a port | |
docker_container: | |
name: service_without_port | |
image: whatever | |
... | |
register: my_service_status | |
- name: Save status | |
set_fact: |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
namespace: metallb-system | |
name: config | |
data: | |
config: | | |
address-pools: | |
- name: private-network | |
protocol: layer2 |
Rancher 2.x uses etcd to store everything. If you don't know how to backup that, you loose all info on clusters, etc. as you upgrade Rancher Server.
Here's how to get passed that!
Get container ID:
$ docker ps|grep rancher/rancher
YOUR_
from the cloud-config.yml
I hereby claim:
To claim this, I am signing this object: