일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Arch
- yum
- Linux
- awx
- OpenStack
- Octavia
- i3
- kolla
- Docker
- Ansible
- cephadm
- k8s
- Kubeflow
- nfs-provisioner
- ubuntu
- grafana-loki
- cloud-init
- KVM
- libvirt
- archlinux
- repository
- ceph-ansible
- kolla-ansible
- terraform
- port open
- Kubernetes
- HTML
- ceph
- pacman
- golang
- Today
- Total
목록golang (6)
YJWANG
개인적으로 진행하고 있는 virt-go project를 통해 확인하실 수 있습니다. https://github.com/YoungjuWang/virt-go
소개 작업하거나 관리하다보면 어떤 IP가 사용 중인지 사용 중이지 않은지 확인하고 싶은 경우가 있는데 여러 옵션 없이 간단하게 사용할 수 있는 프로그램이 없는 것 같아 직접 만들어보았습니다. ICMP 패킷 응답 기반으로 사용 유무를 판단하니 상황에 따라 정상 동작하지 않을 수 있습니다. 또한 socket을 열어서 사용해야하니 root계정 및 권한으로 실행 하시기 바랍니다. https://github.com/YoungjuWang/scanip 리눅스 환경에선 scanip 파일만 가져다가 사용하시면 되지만 Windows에선 따로 컴파일을 해야합니다. 시간이 나면 Windows Compile한 파일도 올려놓겠습니다. Download / Installation # wget https://raw.githubuser..
Golang으로 TCP 포트 오픈 체크하는 프로그램에 대해 포스팅 하겠습니다. 아래와 같이 코딩한 이후 package main import ( "fmt" "net" "time" ) func main() { host := "localhost" port := "8888" address := net.JoinHostPort(host, port) conn, err := net.DialTimeout("tcp", address, 3*time.Second) if err != nil { fmt.Println(err) } else if conn != nil { defer conn.Close() fmt.Printf("%s:%s is opened \n", host, port) } } 오픈된 포트를 스캔했을 때, 오픈되지 않을..
cobra 사용해서 cli tool을 개발해보고자 한다. 아무래도 Infra 작업을 하다보면 cli tool이 있으면 편하겠다는 생각을 하곤하는데 생각한 김에 만들어보고자합니다. cobra 프로젝트는 kubectl에서도 사용하는 프로젝트여서 잘 사용하고 익숙해지면 앞으로 작업 자동화에도 편할 것으로 보입니다. 우선 동작하는 방식에 대해 포스팅한 글로 프로그램은 현재 Ubuntu에서만 동작합니다. refer to https://github.com/spf13/cobra/blob/master/cobra/README.md 구성 환경 $ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" $ go version go version go1.1..
golang에서 파일 copy하기 package get import ( "io" "os" ) func CopyFile(src, dst string) { in, err := os.Open(src) if err != nil { panic(err) } defer in.Close() out, err := os.Create(dst) if err != nil { panic(err) } defer func() { cerr := out.Close() if err == nil { err = cerr } }() if _, err = io.Copy(out, in); err != nil { panic(err) } err = out.Sync() if err != nil { panic(err) } }
golang.org/doc/install#requirements 위 사이트에서 tar.gz 파일을 다운받습니다. root@yjwang0-ceph-01:~# wget https://golang.org/dl/go1.16.3.linux-amd64.tar.gz Install package root@yjwang0-ceph-01:~# rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz PATH 추가 export PATH=$PATH:/usr/local/go/bin go 설치 확인 root@yjwang0-ceph-01:~# go version go version go1.16.3 linux/amd64 go 실행 테스트 root@yjwang..