소개
이 문서에서는 Cisco Open NX-OS의 타사 저장소로 EPEL(Enterprise Linux)용 추가 패키지를 설정하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco Open NX-OS
- DNS(Domain Name System)
사용되는 구성 요소
이 문서의 정보는 NXOS 버전 10.3(4a)이 포함된 Cisco Nexus N9K-C9364C를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
Cisco NX-OS는 수천 개의 프로덕션 환경에서 Cisco Nexus 스위치를 구동하는 네트워크 OS입니다. Linux로 구축한 최초의 데이터 센터 네트워크 운영 체제였습니다. Cisco NX-OS는 항상 Linux에 의해 구동되어 왔으며, 최근에는 최종 사용자에게 Linux의 많은 기능이 노출되었습니다.
사용자는 표준 Linux 서버 관리 툴과 워크플로를 활용하여 사용자 정의 개발 Linux 기반 애플리케이션 또는 기타 표준 오픈 소스 프로그램을 설치하고 Nexus 스위치에서 "즉시" 작동할 수 있습니다. Puppet, Chef와 같은 일반적인 서드파티 컨피그레이션 관리 에이전트와 ganglia, splunk, collector, nagios와 같은 텔레메트리 애플리케이션을 스위치에 통합하는 것은 간단합니다.
방법
Nexus 스위치를 서드파티 저장소에 연결하는 방법에는 두 가지가 있습니다.
- 직접: 모든 레이어 3 인터페이스를 사용하여 리포지토리에 연결할 수 있습니다.
- Via Proxy(프록시 사용): 모든 레이어 3 인터페이스를 사용하여 프록시를 통해 리포지토리에 연결할 수 있습니다.
설정
이러한 컨피그레이션은 모든 통신에 관리 VRF를 사용하여 Nexus 9K 스위치에서 구현됩니다.
방법 1: 직접 연결
1단계. 필요한 기능을 활성화합니다.
Nexus(config)# feature bash
2단계. DNS 클라이언트를 구성합니다.
Nexus(config)# ip domain-lookup
Nexus(config)# vrf context management
Nexus(config-vrf)# ip name-server <dns server ip>
3단계. 타사 저장소 파일을 구성합니다. 여기서 원하는 저장소를 가리킵니다.
참고:
이 설명서에서는 EPEL(Enterprise Linux)용 추가 패키지를 예로 사용합니다
Vim은 파일을 편집하기 위해 미리 설치되어 있습니다.
Cat 명령은 컨텐트 파일을 표시하는 데 사용됩니다.
Nexus# run bash
bash-4.3$ sudo su -l
root@cisco#cat /etc/yum/repos.d/thirdparty.repo
[thirdparty]
name=Thirdparty RPM Database
baseurl=https://dl.fedoraproject.org/pub/epel/7/x86_64/
enabled=1
gpgcheck=1
metadata_expire=0
cost=500
sslverify=0
4단계. 예상 디렉터리에서 적절한 GNU GPG(Privacy Guard) 키를 다운로드합니다.
root@cisco#cd /etc/pki/rpm-gpg
root@cisco#ip netns exec management wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
5단계. GPG 키를 가져옵니다.
root@cisco#rpm --import RPM-GPG-KEY-EPEL-7
방법 2: 프록시를 통해 연결됨
1단계. 필요한 기능을 활성화합니다.
Nexus(config)# feature bash
2단계. DNS 클라이언트를 구성합니다.
Nexus(config)# ip domain-lookup
Nexus(config)# vrf context management
Nexus(config-vrf)# ip name-server <dns server ip>
3단계. yum에 대한 옵션 파일을 구성합니다. 여기서 프록시를 가리킵니다.
참고:
익명 프록시에는 proxy_username 및 proxy_password 옵션이 필요하지 않습니다.
시간 초과 값은 기본적으로 60입니다. 다른 값을 사용하려면 옵션을 설정하십시오.
Vim은 파일을 편집하기 위해 미리 설치되어 있습니다.
Cat 명령은 컨텐트 파일을 표시하는 데 사용됩니다.
Nexus# run bash
bash-4.3$ sudo su -l
root@cisco#cat /etc/yum/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
pluginpath=/lib/yum-plugins
plugins=1
proxy=http://<proxy ip>:<proxy port>/
proxy_username=cisco
proxy_password=cisco123
timeout=300
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum/repos.d
4단계. 타사 저장소 파일을 구성합니다. 여기서 원하는 저장소를 가리킵니다.
참고:
이 설명서에서는 EPEL(Extra Packages for Enterprise Linux)을 예로 들어 설명합니다.
Vim은 파일을 편집하기 위해 미리 설치되어 있습니다.
Cat 명령은 컨텐트 파일을 표시하는 데 사용됩니다.
root@cisco#cat /etc/yum/repos.d/thirdparty.repo
[thirdparty]
name=Thirdparty RPM Database
baseurl=https://dl.fedoraproject.org/pub/epel/7/x86_64/
enabled=1
gpgcheck=1
metadata_expire=0
cost=500
sslverify=0
5단계. https 연결을 위한 프록시를 설정합니다.
root@cisco#export https_proxy=http://<proxy ip>:<proxy port>
6단계. 예상 디렉터리에서 적절한 GNU GPG(Privacy Guard) 키를 다운로드합니다.
root@cisco#cd /etc/pki/rpm-gpg
root@cisco#ip netns exec management wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
7단계. GPG 키를 가져옵니다.
root@cisco#rpm --import RPM-GPG-KEY-EPEL-7
다음을 확인합니다.
이 설명서는 타사 저장소가 올바르게 구성되었는지 확인하기 위해 SHC 패키지를 설치합니다.
참고: 관리 VRF는 모든 명령에서 지정됩니다
1단계.Nexus에서 패키지를 가져올 수 있는지 확인합니다.
root@cisco#ip netns exec management yum repolist
Loaded plugins: downloadonly, importpubkey, localrpmDB, patchaction, patching,
: protect-packages
groups-repo | 1.1 kB 00:00 ...
localdb | 951 B 00:00 ...
patching | 951 B 00:00 ...
thirdparty | 4.7 kB 00:00
wrl-repo | 951 B 00:00 ...
repo id repo name status
groups-repo Groups-RPM Database 46
localdb Local RPM Database 0
patching Patch-RPM Database 0
thirdparty Thirdparty RPM Database 13,798
wrl-repo Groups-RPM Database 12
repolist: 13,856
2단계. SHC 패키지 설치
root@cisco#ip netns exec management yum install shc
Loaded plugins: downloadonly, importpubkey, localrpmDB, patchaction, patching,
: protect-packages
groups-repo | 1.1 kB 00:00 ...
groups-repo/primary | 35 kB 00:00 ...
groups-repo 46/46
localdb | 951 B 00:00 ...
localdb/primary | 197 B 00:00 ...
patching | 951 B 00:00 ...
patching/primary | 197 B 00:00 ...
thirdparty | 4.7 kB 00:00
thirdparty/primary_db | 7.0 MB 00:25
wrl-repo | 951 B 00:00 ...
wrl-repo/primary | 4.2 kB 00:00 ...
wrl-repo 12/12
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package shc.x86_64 0:4.0.3-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
shc x86_64 4.0.3-1.el7 thirdparty 38 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 38 k
Installed size: 90 k
Is this ok [y/N]: y
Downloading Packages:
shc-4.0.3-1.el7.x86_64.rpm | 38 kB 00:00
Running Transaction Check
Running Transaction Test
Transaction Test Succeeded
Running Transaction
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
busybox-1.23.2-r0.0.x86_64 has missing requires of busybox-syslog
Installing : shc-4.0.3-1.el7.x86_64 1/1
Installed:
shc.x86_64 0:4.0.3-1.el7
Complete!
Install operation 21 completed successfully at Tue Apr 9 23:36:10 2024.
[####################] 100%
3단계. SHC가 설치되었는지 확인합니다.
root@cisco#shc
shc parse(-f): No source file specified
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDSUHCABh] -f script
관련 링크
NX-OS 열기
Cisco Open NX-OS를 통한 프로그래밍 기능 및 자동화
Cisco Nexus Switch 프로그래밍 가능 스크립트를 위한 리포지토리