2017-02-16 3 views
1

까지간단한 컨테이너를 시작하려면 어떻게해야합니까?

  • 나는 클러스터가 나는 quick start guide을 읽은 내가있어
  • 내가 내 컨테이너를 시작하는 kubectl run 명령을 입력 할 필요가 있음을 알 수있다.

나는이 명령

docker run -d \ 
    -e DRONE_SERVER=wss://ci.fommil.com/ws/broker \ 
    -e DRONE_SECRET=<redacted> \ 
    -e DOCKER_MAX_PROCS=1 \ 
    -e DRONE_TIMEOUT=30m \ 
    -v /var/run/docker.sock:/var/run/docker.sock \ 
    --restart=always \ 
    --name=drone-agent \ 
    drone/drone:0.5 agent 

에 해당하는 구글 콘솔/cubectl 명령이 무엇을 어떤 고정 표시기 기반 시스템에서 시작할 수 공개적으로 사용 가능한 고정 표시기 컨테이너를 시작하려면? 나는 지금까지

kubectl run agent \ 
    --image=drone/drone:0.5 \ 
    --env="DRONE_SERVER=wss://ci.fommil.com/ws/broker" \ 
    --env="DRONE_SECRET=<redacted>" \ 
    --env="DOCKER_MAX_PROCS=1" \ 
    --env="DRONE_TIMEOUT=30m" \ 
    -v /var/run/docker.sock:/var/run/docker.sock 

로 가지고 있지만 -v 라인은 매우 옳지 않다. /var/run/docker.sock이 docker에서 하위 작업을 실행하여 CI 작업을 실행하는 것이 유일한 목적이기 때문에 컨테이너에 탑재되어 있는지 확인해야합니다.

답변

1

맞아요, 구성 파일없이 볼륨을 생성하기 위해 imperative commands을 사용하여 볼륨을 생성하는 것은 Kubernetes에서 사용할 수 없습니다.

그러나 구성을 작성하는 것은 쉽습니다. 이 blog post 및 요구 사항에 따라 "최신"구성이 표시 될 수 있습니다.

deployment.yml가 :

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: agent 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: agent 
    spec: 
     containers: 
     - env: 
     - name: DRONE_SERVER 
      value: "wss://ci.fommil.com/ws/broker" 
     - name: DRONE_SECRET 
      value: <redacted> 
     - name: DOCKER_MAX_PROCS 
      value: "1" 
     - name: DRONE_TIMEOUT 
      value: 30m 
     image: drone/drone:0.5 
     name: agent 
     args: ["agent"] 
     securityContext: 
      privileged: true 
     volumeMounts: 
      - mountPath: /var/run/docker.sock 
      name: docker-sock 
      - mountPath: /var/lib/docker 
      name: docker-lib 
     volumes: 
     - name: docker-sock 
      hostPath: 
      path: /var/run/docker.sock 
     - name: docker-lib 
      hostPath: 
      path: /var/lib/docker 

이 지금 kubectl create -f deployment.yml와 함께 사용할 수 있으며, 위대한 kubectl delete deployments -l app=agent

+0

과 정지, 감사합니다! 나는 나를 위해 일한 정확한 yml로 당신의 대답을 업데이트했다. 파일이 터무니없이 반복적인데, 잘릴 수 있다면 좋을 것입니다. 가능한 한 "에이전트"라고 말하는 경쟁과 같습니다. – fommil

+1

배포/복제본 대신 정말로 간단한 포드를 원한다면 --generator = run-pod/v1을 사용하고 싶습니다. –

관련 문제