Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed | Kitploit
أدوات/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
المصادقة والترخيصأمن البنية التحتية السحابيةأدوات عامةأمن الحاوياتأمن السحابةأمن واجهات برمجة التطبيقات
GitHubshoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed

kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 9 أشهرلم تتم المراجعة بعد

عميل جافا لـ Kubernetes

Build Status Client Capabilities Client Support Level

عميل جافا لواجهة برمجة تطبيقات kubernetes.

إصدارات العميل

يستخدم عميل جافا نظام الإصدارات الدلالية (Semantic Versioning). نقوم بزيادة رقم الإصدار الرئيسي كلما أعدنا توليد العميل لإصدار جديد من Kubernetes (انظر الجدول أدناه). وفي كل مرة نفعل ذلك، تُضاف واجهات برمجة تطبيقات جديدة وربما تغييرات جذرية في Stubs الخاصة بواجهة برمجة تطبيقات Kubernetes المولّدة. وكلما قمت بترقية إصدار رئيسي، كن مستعدًا لتغييرات جذرية محتملة.

التثبيت

لتثبيت مكتبة عميل جافا في مستودع Maven المحلي لديك، نفّذ فقط:

root@kitploit:~
git clone --recursive https://github.com/kubernetes-client/java
cd java
mvn install

راجع التوثيق الرسمي لمزيد من المعلومات.

مستخدمو Maven

أضف هذا الاعتماد إلى ملف POM الخاص بمشروعك:

root@kitploit:~
<dependency>
    <groupId>io.kubernetes</groupId>
    <artifactId>client-java</artifactId>
    <version>8.0.2</version>
</dependency>

مستخدمو Gradle

root@kitploit:~
compile 'io.kubernetes:client-java:8.0.2'

طرق أخرى

أولًا، قم بتوليد ملف JAR بتنفيذ:

root@kitploit:~
git clone --recursive https://github.com/kubernetes-client/java
cd java/kubernetes
mvn package

ثم قم بتثبيت ملفات JAR التالية يدويًا:

  • target/client-java-api-8.0.3-SNAPSHOT.jar
  • target/lib/*.jar

مثال

لقد أعددنا بعض الأمثلة لحالات الاستخدام الشائعة وهي موضحة أدناه:

  • الإعداد:
    • InClusterClientExample: قم بإعداد عميل أثناء التشغيل داخل عنقود Kubernetes.
    • KubeConfigFileClientExample: قم بإعداد عميل للوصول إلى عنقود Kubernetes من الخارج.
  • الأساسيات:
    • SimpleExample: مثال بسيط وأدنى لكيفية استخدام العميل.
    • ProtoExample: إرسال/استقبال الحمولات باستخدام بروتوكول تسلسل protobuf.
    • (5.0.0+) PatchExample: تصحيح كائنات الموارد في تنسيقات التصحيح المدعومة المختلفة، أي ما يعادل kubectl patch.
    • FluentExample: إنشاء مورد تعسفي بأسلوب البناء الانسيابي fluent builder.
    • YamlExample: الطريقة المقترحة لتحميل أو تفريغ الموارد بصيغة Yaml.
  • البث:
    • WatchExample: الاشتراك في أحداث المراقبة من موارد معينة، أي ما يعادل kubectl get <resource> -w.
    • LogsExample: جلب السجلات من الحاويات قيد التشغيل، أي ما يعادل .

سرد جميع الـ pods:

root@kitploit:~
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1Pod;
import io.kubernetes.client.openapi.models.V1PodList;
import io.kubernetes.client.util.Config;

import java.io.IOException;

public class Example {
    public static void main(String[] args) throws IOException, ApiException{
        ApiClient client = Config.defaultClient();
        Configuration.setDefaultApiClient(client);

        CoreV1Api api = new CoreV1Api();
        V1PodList list = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null);
        for (V1Pod item : list.getItems()) {
            System.out.println(item.getMetadata().getName());
        }
    }
}

مراقبة كائن namespace:

root@kitploit:~
import com.google.gson.reflect.TypeToken;
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1Namespace;
import io.kubernetes.client.util.Config;
import io.kubernetes.client.util.Watch;

import java.io.IOException;

public class WatchExample {
    public static void main(String[] args) throws IOException, ApiException{
        ApiClient client = Config.defaultClient();
        Configuration.setDefaultApiClient(client);

        CoreV1Api api = new CoreV1Api();

        Watch<V1Namespace> watch = Watch.createWatch(
                client,
                api.listNamespaceCall(null, null, null, null, null, 5, null, null, Boolean.TRUE, null, null),
                new TypeToken<Watch.Response<V1Namespace>>(){}.getType());

        for (Watch.Response<V1Namespace> item : watch) {
            System.out.printf("%s : %s%n", item.type, item.object.getMetadata().getName());
        }
    }
}

يمكن العثور على المزيد من الأمثلة في مجلد examples. لتشغيل الأمثلة، نفّذ هذا الأمر:

root@kitploit:~
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"

التوثيق

يمكن العثور على توثيق جميع واجهات برمجة التطبيقات والنماذج في توثيق العميل المولّد

التوافق

المفتاح:

  • ✓ نفس الميزات / كائنات واجهة برمجة التطبيقات تمامًا في كل من java-client وإصدار Kubernetes.
  • + يمتلك java-client ميزات أو كائنات واجهة برمجة تطبيقات قد لا تكون موجودة في عنقود Kubernetes، لكن كل ما تشترك فيه سيعمل.
  • - يحتوي عنقود Kubernetes على ميزات لا يمكن لمكتبة java-client استخدامها (كائنات إضافية لواجهة برمجة التطبيقات، إلخ).

راجع CHANGELOG للحصول على وصف تفصيلي للتغييرات بين إصدارات java-client.

المساهمة

يرجى الاطلاع على CONTRIBUTING.md للحصول على إرشادات حول كيفية المساهمة.

مدونة قواعد السلوك

تخضع المشاركة في مجتمع Kubernetes لـ مدونة قواعد سلوك CNCF.

التطوير

تحديث الكود المولّد.

يتم توليد الكود بواسطة مشروع openapi-generator.

لقد بنينا أدوات عامة متعددة اللغات لتوليد الكود، وهي مستضافة في مستودع kubernetes-client/gen.

للبدء، في دليل جذر ليس دليل عميل java الخاص بك، على سبيل المثال يمكن أن يكون تخطيط الدليل لديك كما يلي:

root@kitploit:~
${HOME}/
        src/
             gen/
             java/
...

ثم لاستنساخ مستودع gen، عليك تشغيل:

root@kitploit:~
cd ${HOME}/src
git clone https://github.com/kubernetes-client/gen
export GEN_ROOT=${PWD}

ثم لتحديث العميل:

root@kitploit:~
cd ${HOME}/src/java
${GEN_ROOT}/gen/openapi/java.sh kubernetes ./settings

يجب أن يمر هذا بعملية بناء طويلة نسبيًا تتضمن docker وينتج في النهاية مجموعة جديدة من الكود المولّد في دليل kubernetes.

تنزيل الأداة
kubectl logs
  • ExecExample: إنشاء جلسة "exec" مع الحاويات قيد التشغيل، أي ما يعادل kubectl exec.
  • PortForwardExample: تعيين منفذ محلي إلى منفذ على pod، أي ما يعادل kubectl port-forward.
  • AttachExample: الارتباط بعملية تعمل بالفعل داخل حاوية موجودة، أي ما يعادل kubectl attach.
  • CopyExample: نسخ الملفات والدلائل من وإلى الحاويات، أي ما يعادل kubectl cp.
  • WebSocketsExample: إنشاء جلسة web-socket تعسفية لموارد معينة.
  • متقدم: (ملاحظة: يتطلب المثال التالي وحدة client-java-extended)
    • (5.0.0+) InformerExample: إنشاء informer يقوم بسرد ومراقبة الموارد ويعكس الإشعارات إلى ذاكرة تخزين مؤقت محلية.
    • (5.0.0+) PagerExample: دعم ترقيم الصفحات (لطلب القائمة فقط) لتخفيف الأحمال على الخادم/ازدحام الشبكة.
    • (6.0.0+) ControllerExample: إنشاء وحدة تحكم controller تعمل على مواءمة حالة العالم من خلال سرد ومراقبة مورد واحد أو عدة موارد.
    • (6.0.0+) LeaderElectionExample: أدوات انتخاب القائد للمساعدة في تنفيذ وحدات تحكم عالية التوفر HA.
    • (9.0.0+) SpringIntegrationControllerExample: بناء وحدة تحكم Kubernetes استنادًا إلى حقن الحبوب bean في إطار عمل spring.
    • (9.0.0+) GenericKubernetesClientExample: إنشاء واجهة عميل عامة لأي نوع من أنواع kubernetes، بما في ذلك CRDs.
  • إصدار العميل1.111.121.131.141.151.16
    3.0.0✓-----
    4.0.0+✓----
    5.0.0++✓---
    6.0.1+++✓--
    7.0.0++++✓✓
    8.0.2+++++✓