[개인 필기] 랜서 원격 디버깅 구축

5939 단어 용기운
rancher 원격 디버깅 구축
문서 목록
  • rancher 원격 디버깅 구축
  • 호스트 구성(방화벽 끄기, SELinux 끄기)
  • docker
  • 설치
  • 고 환경 설치
  • 다운로드 go
  • 구성 환경 변수
  • dlv 설치
  • 코드 당기기
  • 구성 Goland
  • 원격 코드
  • 원격 디버깅
  • 실행
  • docker 실행
  • rancher-ui
  • nodejs 설치
  • yarn
  • 설치
  • 코드 당기기
  • 시작
  • 액세스
  • dockerfile

  • 잡담: 이 책은 한 편의 필기였는데, 본래 보내려고 하지 않았는데, 갑자기 도운이라는 구덩이가 다른 필기의 내용을 이 편으로 완전히 덮어 놓았다.이런 상황은 이전에도 있었다. 보통 한 번 다시 켜면 좋았는데 이번에는 잘 안 된다. 크롬 프라이버시 모드를 켜서 로그인한 것도 커버된 것을 보고 당황했다. 다행히 형들이 급하게 핸드폰을 끊고 클라우드 노트를 켜서 익숙한 내용을 보고 모두 복사해서 이 글을 보전할 수 있었다.나중에 필기를 계속해서 동기화해서 혹시 모르니까 프라이버시에 코드를 찍어도 귀찮아요...
    호스트 구성(방화벽 끄기, SELinux 끄기)
    systemctl stop iptables
    systemctl stop firewalld
    vi /etc/selinux/config
    
    SELINUX=disabled
    docker 설치
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce
    echo '{"insecure-registries":["harbor.t2cp.com"]}' >> /etc/docker/daemon.json
    service docker start
    

    설치 go 환경
    다운로드
    curl -o go1.13.linux-amd64.tar.gz https://dl.google.com/go/go1.13.linux-amd64.tar.gz
    tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
    

    환경 변수 구성
    작업 디렉토리 만들기
    mkdir -p ~/go/src ~/go/pkg ~/go/bin
    

    편집/etc/profile은 다음과 같이 추가합니다.
    # golang
    export PATH=$PATH:/usr/local/go/bin
    export PATH=$PATH:~/go/bin
    
    echo "# golang" >> /etc/environment
    echo "PATH=$PATH:/usr/local/go/bin" >> /etc/environment
    echo "PATH=$PATH:~/go/bin" >> /etc/environment
    source /etc/profile
    

    dlv 설치
    go env -w GOPROXY="https://goproxy.cn,direct"
    go get github.com/go-delve/delve
    cd ~/go/src/github.com/go-delve/delve/cmd/dlv/
    go install
    

    부호를 당기다
    yum install -y git
    mkdir -p ~/go/src/github.com/rancher
    cd ~/go/src/github.com/rancher
    git clone ...
    git checkout ...
    

    Goland 구성
    원격 코드Tools->Deployment->Configuration+을 선택한 후 이름을 입력하고(임의로) Host가 IP이고 로그인 정보(사용자 이름 비밀번호), 그리고 RootPath가 원격 코드의 절대 경로인 Mappings의 DeploymentPathSFTP를 입력한다.
    원격 조정/->ctrl+shift+aedit configurations 선택+ 후 이름(임의) 및 원격 IP 입력
    실행
    호스트에서 실행
    cd ~/go/src/github.com/rancher/rancher/
    dlv debug --build-flags "-tags "k8s"" --headless --listen=:2345 --api-version=2 --accept-multiclient
    dlv debug --build-flags "-tags "k8s"" --headless --listen=:2345 --api-version=2 --accept-multiclient -- --http-listen-port=8080 --https-listen-port=8443 --audit-log-path=${AUDIT_LOG_PATH} --audit-level=${AUDIT_LEVEL} --audit-log-maxage=${AUDIT_LOG_MAXAGE} --audit-log-maxbackup=${AUDIT_LOG_MAXBACKUP} --audit-log-maxsize=${AUDIT_LOG_MAXSIZE} "${@}"
    

    출력go remote을 기다린 후 골드API server listening at: [::]:2345에 도착하면 호스트에 로그 출력이 있습니다. 일정 시간 후에 찾아보세요shift+F9. 보시면8443postman에 접근할 수 있습니다.
    docker 실행
    echo '*** ***' >> /etc/hosts
    docker run -itd --privileged --entrypoint '/bin/bash' -p 8080:8080 -p 8443:8443 -p 30080:80 -p 30443:443 -p 2345:2345 -p 8022:22 ***/library/rancher/rancher:v2.2.2m114-dev
    

    컨테이너 중
    #    rancher-server
    /usr/bin/rancher
    
    #   rancher   
    /usr/bin/rancher --http-listen-port=8080 --https-listen-port=8443 --audit-log-path=${AUDIT_LOG_PATH} --audit-level=${AUDIT_LEVEL} --audit-log-maxage=${AUDIT_LOG_MAXAGE} --audit-log-maxbackup=${AUDIT_LOG_MAXBACKUP} --audit-log-maxsize=${AUDIT_LOG_MAXSIZE} "${@}"
    
    # apt update
    apt update
    
    # ssh
    apt install --fix-missing -y openssh-server
    echo "PermitRootLogin yes" >>  /etc/ssh/sshd_config
    /bin/echo 'root:***' |chpasswd
    service ssh restart
    
    # gcc
    apt install --fix-missing -y gcc
    

    rancher-ui
    https://github.com/rancher/ui
    nodejs 설치
    curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
    sudo yum install -y nodejs
    

    설치
    curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
    sudo yum -y install yarn
    

    부호를 당기다
    mkdir ~/rancher-ui
    git clone 'https://github.com/rancher/ui'
    cd 'ui'
    ./scripts/update-dependencies
    

    부팅
    RANCHER="https://localhost:8443" yarn start
    

    방문
    https://localhost:8000/
    

    dockerfile
    FROM ***/library/rancher/rancher:***
    
    # install ssh & gcc
    RUN apt update && \
        apt install --fix-missing -y openssh-server && \
        echo "PermitRootLogin yes" >> /etc/ssh/sshd_config && \
        /bin/echo 'root:***' |chpasswd && \
        service ssh restart && \
        apt install --fix-missing -y gcc
    
    ENV PATH=/go/bin:/usr/local/go/bin:${PATH}
    
    # install go & dlv
    RUN curl -o go1.13.linux-amd64.tar.gz https://dl.google.com/go/go1.13.linux-amd64.tar.gz && \
        tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz && \
        rm -f go1.13.linux-amd64.tar.gz && \
        mkdir -p /go/src /go/pkg /go/bin && \
        go env -w GOPROXY="https://goproxy.cn,direct" && \
        go env -w GOPATH="/go" && \
        go get -u github.com/go-delve/delve/cmd/dlv && \
        go install /go/src/github.com/go-delve/delve/cmd/dlv/ && \
        mkdir -p /go/src/github.com/rancher
    
    WORKDIR /go/src/github.com/rancher
    
    ENTRYPOINT ["/bin/bash"]
    
    [INFO] Listening on :8443

    좋은 웹페이지 즐겨찾기