소개
이 문서에서는 FND(Field Network Director) OVA(Open Virtualization Appliance) docker 컨테이너를 최신 버전으로 업그레이드하는 방법에 대해 설명합니다.
PostgreSQL에서 FND OVA 배포를 사용하는 경우 Docker 컨테이너에서 실행되는 FND 및 Fog Director 인스턴스가 함께 제공됩니다.컨테이너 이미지에는 호스트 자체에 저장되고 컨테이너와 공유되는 영구 정보가 없습니다.
문제
FND/Fog Director 컨테이너를 업그레이드하는 설명서 및 단계별 가이드가 없습니다.
솔루션
다음은 컨테이너를 업그레이드하는 단계입니다.
사전 요구 사항
- OVA가 구축된 시스템이 PostgreSQL 기반 FND OVA 구축인지 확인합니다.
CLI에서 다음 명령을 실행합니다.
[root@iot-fnd ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c32830fa5d9 fogd-image:active "/bin/sh -c '/var/ci…" 5 months ago Up 18 hours fogd-container
5251f66ef0cc fnd-image:active "/bin/sh -c /opt/fnd…" 5 months ago Up 18 hours 0.0.0.0:80->80/tcp, 0.0.0.0:162->162/udp, 0.0.0.0:443->443/tcp, 0.0.0.0:9120-9121->9120-9121/tcp, 0.0.0.0:5683->5683/udp, 0.0.0.0:61624-61626->61624-61626/udp, 0.0.0.0:9124-9125->9124-9125/tcp, 0.0.0.0:61628->61628/udp fnd-container
위 출력에서 볼 수 있듯이, 두 컨테이너는 fogd 및 fnd 이미지를 사용하여 실행되고 있으며, 이는 이 업그레이드 경로를 사용할 올바른 OVA 구축이 있음을 확인하는 것입니다.
- 컴퓨터에 인터넷 액세스가 있고 DNS가 구성되어 있는지 확인합니다.
이를 테스트하려면 공용 호스트 이름에 대해 ping을 수행합니다.
[root@iot-fnd ~]# ping cisco.com -c1
PING cisco.com (72.163.4.161) 56(84) bytes of data.
64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=1 ttl=239 time=152 ms
--- cisco.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 152.709/152.709/152.709/0.000 ms
이 오류가 발생하면 /etc/resolv.conf에 구성된 DNS가 없을 수 있습니다.
- HTTPS 트래픽을 허용하는 프록시가 필요한 경우(Cisco 랩의 경우와 마찬가지로) 다음 파일에 추가할 수 있습니다.
[root@iot-fnd ~]# vi /etc/systemd/system/docker.service.d/http-proxy.conf
You have mail in /var/spool/mail/root
[root@iot-fnd ~]# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTPS_PROXY=http://proxy.esl.cisco.com:80"
이 구성을 추가한 후 systemd-services를 새로 고치고 Docker를 다시 시작합니다.
[root@iot-fnd ~]# systemctl daemon-reload
[root@iot-fnd ~]# systemctl restart docker
버전 이미지 태그 찾기
업그레이드할 버전을 선택하려면 FND에 대한 CCO Download(CCO 다운로드) 페이지를 확인하는 것이 가장 쉽습니다. https://software.cisco.com/download/home/286287993/type/286320249/
보시다시피 파일 이름에는 버전 번호가 포함됩니다.
예를 들어, 작성 시 최신 파일의 경우 CISCO-IOTFND-VPI-K9-4.7.0-101.zip 버전 번호는 다음과 같습니다.4.7.0-101
다음 단계에서 제공해야 하는 이미지 태그입니다.
업그레이드 수행
업그레이드하려면 사전 요구 사항이 충족되면 /opt/fnd/scripts/upgrade.sh에서 스크립트를 실행하면 됩니다.
스크립트를 실행할 때 먼저 1) 컨테이너 이미지 로드 옵션을 선택합니다.
devhub-docker.cisco.com에 대한 자격 증명으로 다음 항목을 사용할 수 있습니다.
사용자 이름:fnd upgrade.gen
암호(토큰):AKCp5fUYZxwj7geWcaEbyKShGtyNxzA3ijWzzXdhuWY7GoR5RVYru2zcAta81fcV4Jndbjq31
이미지 태그로 앞서 설명한 대로 버전 번호를 사용합니다(예: 4.7.0-101).
이미지가 다운로드되면 옵션 2) Container Reload를 사용하여 이미지를 로드합니다.
출력 예:
[root@iot-fnd ~]# /opt/fnd/scripts/upgrade.sh
This script must be run with root privileges.
Usage: Load container images: No resource required
For container reload: No resource required
1) Load container images
2) Container reload
3) Quit
Enter your choice: 1
Do you want to download docker image from registry (y/n)?y
Enter docker registry [devhub-docker.cisco.com]:
For FND Docker image upgrade you will need access to Cisco CCO docker registry.
Username: fnd-upgrade.gen
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Enter docker image tag: 4.7.0-101
Downloading FND docker image...
4.7.0-101: Pulling from field-network-director-docker/fnd-image
f34b00c7da20: Already exists
9c542cd3c18f: Pull complete
b0929d67d1de: Pull complete
e82d75ddb5ee: Pull complete
95df7d16861d: Pull complete
184d612a5ba6: Pull complete
90d6558240a2: Pull complete
81a31ac85436: Pull complete
Digest: sha256:b7ef566386d318a2e186350077970a9b4f0019d455521c053cdd75c139f5627c
Status: Downloaded newer image for devhub-docker.cisco.com/field-network-director-docker/fnd-image:4.7.0-101
Downloading Fog Director docker image...
4.7.0-101: Pulling from fog-director-docker/fogd-image
ed6e0ec6b337: Pull complete
2c42dd52f029: Pull complete
6b4fd7880141: Pull complete
7d56b7ff004c: Pull complete
c719de3d527a: Pull complete
ccca86184ecc: Pull complete
b45dc2906bcc: Pull complete
e4f23b432923: Pull complete
Digest: sha256:39f3a30c63a06f0909337ffb9fa503d642e6c567343a04edb8f58b3a6962eced
Status: Downloaded newer image for devhub-docker.cisco.com/fog-director-docker/fogd-image:4.7.0-101
1) Load container images
2) Container reload
3) Quit
Enter your choice: 2
Stopping FND container...
fnd-container
Remove FND container...
fnd-container
Prune Docker container...
Starting FND container...
75c7d97e775d6345114ad940652ff80cbaf5dabbbf9e23e549202d6fe5e96b11
Stopping Fog Director container...
fogd-container
Remove Fog Director container...
fogd-container
Prune Docker container...
Starting Fog Director container...
1ca848a1b14155c8358eb0ff70fc7b0a55810743c531c4770f6e471e343f91ad
1) Load container images
2) Container reload
3) Quit
Enter your choice: 3
완료되면 다음 명령을 사용하여 업그레이드가 성공했는지 확인할 수 있습니다.
[root@iot-fnd ~]# docker exec -it fnd-container cat /opt/cgms/bin/version
4.7.0-101