কুবেরনেটস মোতায়েনের মধ্যে ডকার


13

আমি একটি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করছি যা এর মাধ্যমে ভাইবোন ডকার পাত্রে তৈরি করে:

docker run -d /var/run/docker.sock:/var/run/docker.sock ...

আমি উপরের ধারকটির বাইরে একটি কুবারনেটস মোতায়েন করার চেষ্টা করছি, তবে বর্তমানে পাচ্ছি:

ইউনিক্স: ///var/run/docker.sock এ ডকার ডেমনের সাথে সংযোগ স্থাপন করতে পারে না। ডকার ডিমন চলছে?

এটি প্রত্যাশিত কারণ আমি /var/run/docker.sockমোতায়েনের ইয়ামলে ভলিউম হিসাবে ঘোষণা করছি না ।

সমস্যাটি হ'ল আমি জানি না এটি কীভাবে করা যায়। /var/run/docker.sockডিপ্লোয়মেন্ট ইয়ামলে ভলিউম হিসাবে মাউন্ট করা সম্ভব ?

যদি তা না হয় তবে কোনও কুবারনেটস ডিপ্লোয়মেন্ট / পোডের মধ্যে থেকে ডকার ভাইবোর্ড-পাত্রে চালানোর জন্য সেরা পন্থাটি কী?

উত্তর:


19

K8s তত্ত্বাবধানের বাইরে একটি ধারক শুরু করা আমার কাছে ভঙ্গুর শোনার পরে যাচাই করা হয়নি, তবে আপনাকে /var/run/docker.sockএকটি হোস্টপথ ভলিউম দিয়ে মাউন্ট করতে সক্ষম হওয়া উচিত ।

ডকুমেন্টেশন থেকে ভিন্নতার উদাহরণ:

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: gcr.io/google_containers/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /var/run/docker.sock
      name: docker-sock-volume
  volumes:
  - name: docker-sock-volume
    hostPath:
      # location on host
      path: /var/run/docker.sock
      # this field is optional
      type: File

আমি মনে করি একটি সাধারণ মাউন্টটি কনটেইনারটির মধ্যে ডকার ক্লায়েন্টের কাছ থেকে হোস্টে ডকার ডেমনকে যোগাযোগের অনুমতি দেওয়ার জন্য যথেষ্ট হতে পারে তবে আপনি যদি লেখার অনুমতি ত্রুটি পান তবে এর অর্থ এটি আপনার সুরক্ষার কনটেক্সট অবজেক্ট (যেমন কেবল সুরক্ষিত কনটেক্সট অবজেক্ট ব্যবহার করে প্রাইভেটেড কনটেইনার হিসাবে আপনার কনটেইনারটি চালানো দরকার) সংযোজন, ডকুমেন্টেশন থেকে নেওয়া মানগুলি দেখানোর জন্য উপরে থেকে একটি নির্যাস :

spec:
  containers:
  - image: gcr.io/google_containers/test-webserver
    securityContext:
      privileged: true
    name: test-container

ধন্যবাদ, ধন্যবাদ। হ্যাঁ এটি একটি তৃতীয় পক্ষের সরঞ্জাম তাই এটি আদর্শ নয়। তবে আমি কমপক্ষে কুবেরনেটসের মূল ধারকটিকে আরও নির্ভরযোগ্য করে তুলতে চাই। কনটেইনারটি অটোমেশন ইউআই পরীক্ষার জন্য ব্রাউজারগুলি সহ অস্থায়ী পাত্রে র‌্যাম্প আপ করে, তারপরে ব্রাউজারের ধারকটি ধ্বংস হয়ে যায়।
rys

@ রাইস হ্যাঁ, এটি আমার মনে হয়েছিল এমন একটি ঘটনা ছিল, যদি নোড লোড খুব বেশি হয়ে যায় তবে কে 8 এস আপনার 'লঞ্চার' ধারকটি সরিয়ে ফেলতে পারে তবে আপনি এখনও সমস্যার মধ্যে পড়তে পারেন। তবে আমি ধরে নিচ্ছি যে পরীক্ষার স্যুট ব্যর্থতা এই ক্ষেত্রে গ্রহণযোগ্য কিছু
টেনসিবাই

2

যদিও এটি একটি কার্যক্ষম সমাধান (আমি নিজে এটি ব্যবহার করি), সেখানে কুবেরনেটস পোডে ডকার চালানোর জন্য কিছু ত্রুটি রয়েছে /var/run/docker.sock

মূলত আপনি কুকারনেটসের নিয়ন্ত্রণের বাইরে ডকারের ধারকগুলির সাথে কাজ করছেন।

আর একটি প্রস্তাবিত সমাধান আমি পেয়েছি তা হ'ল আপনার পোদে একটি পার্শ্ব-গাড়ী ধারক ব্যবহার করা । কুবেরনেটসে ডকার-ইন-ডকারের জন্য একটি কেস দেখুন । এটির দুটি অংশ রয়েছে যেখানে প্রস্তাবিত সমাধানটি অংশ 2 এ রয়েছে

আশা করি এটা কাজে লাগবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.