Queremos desativar temporariamente a reinicialização na atualização de uma máquina CoreOS, pois ainda não implementamos a alta disponibilidade de nossos serviços. Existe alguma maneira de conseguir isso além de editar a configuração do cloud-init (fornecido quando a máquina está sendo provisionada pela primeira vez)
Phuong Nguyen's questions
O systemd reinicia o serviço ou o sistema simplesmente se recusa a permitir que o serviço aloque mais memória?
Eu quero que o docker extraia minhas imagens privadas dentro do serviço systemd, então eu autorizo isso fazendo login no shell do core
usuário e executando docker authorize
. No entanto, posso ver que, quando o systemd inicia o serviço e invoca o docker, ele não é autorizado e, portanto, não consegue encontrar minhas imagens privadas.
Qual é a maneira correta de autorizar o docker para que ele possa extrair imagens privadas ao ser executado pelo systemd?
Estou tendo este arquivo de definição:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:Firewall-INPUT - [0:0]
-A INPUT -j Firewall-INPUT
-A FORWARD -j Firewall-INPUT
-A Firewall-INPUT -i lo -j ACCEPT
-A Firewall-INPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A Firewall-INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
-A Firewall-INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
# Ping
-A Firewall-INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Accept any established connections
-A Firewall-INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Enable the traffic between the nodes of the cluster
-A Firewall-INPUT -s 10.0.1.1 -j ACCEPT
# Allow connections from docker container
-A Firewall-INPUT -i docker0 -j ACCEPT
# Accept ssh, http, https and git
-A Firewall-INPUT -m conntrack --ctstate NEW -m multiport -p tcp --dports 22,2222,80,443 -j ACCEPT
# Log and drop everything else
-A Firewall-INPUT -j LOG
-A Firewall-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Eu então invoco iptables-restore
com estas regras:
/sbin/iptables-restore < /tmp/iptables-rules-save
Depois disso, corro iptables -L
e obtenho isto:
Chain INPUT (policy DROP)
target prot opt source destination
Firewall-INPUT all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Firewall-INPUT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain Firewall-INPUT (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp echo-reply
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- 10.0.1.1 anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere ctstate NEW multiport dports ssh,EtherNet/IP-1,http,https
LOG all -- anywhere anywhere LOG level warning
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Como você pode ver, está adicionando uma regra perigosa que aceita todos os pacotes de qualquer fonte para qualquer interface no servidor.
Qual é a coisa errada com a minha configuração que levou a isso? Como corrigi-lo?
P/S: Eu executo este em um droplet Digital Ocean CentOS 6.5