@xdev-asia/xdev-knowledge-mcp 1.0.51 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,317 @@
1
+ {
2
+ "id": "kcna",
3
+ "title": "KCNA — Kubernetes and Cloud Native Associate",
4
+ "slug": "kcna",
5
+ "description": "Practice exam for KCNA — 20 questions covering all 5 domains",
6
+ "icon": "award",
7
+ "provider": "CNCF",
8
+ "level": "Foundational",
9
+ "duration_minutes": 30,
10
+ "passing_score": 75,
11
+ "questions_count": 20,
12
+ "tags": ["Kubernetes", "CNCF", "Cloud Native", "DevOps"],
13
+ "series_slug": "luyen-thi-kcna",
14
+ "domains": [
15
+ {
16
+ "name": "Domain 1: Kubernetes Fundamentals",
17
+ "weight": 46,
18
+ "lessons": [
19
+ { "title": "Bài 1: Kubernetes Architecture & Core Components", "slug": "01-kien-truc-kubernetes" },
20
+ { "title": "Bài 2: Pods, Workloads & Controllers", "slug": "02-pods-workloads-controllers" },
21
+ { "title": "Bài 3: Services, Networking & Storage", "slug": "03-services-networking-storage" },
22
+ { "title": "Bài 4: RBAC & Security Basics", "slug": "04-rbac-security" }
23
+ ]
24
+ },
25
+ {
26
+ "name": "Domain 2: Container Orchestration",
27
+ "weight": 22,
28
+ "lessons": [
29
+ { "title": "Bài 5: Container Runtimes & OCI Standards", "slug": "05-container-runtimes-oci" },
30
+ { "title": "Bài 6: Container Orchestration Patterns", "slug": "06-orchestration-patterns" }
31
+ ]
32
+ },
33
+ {
34
+ "name": "Domain 3: Cloud Native Architecture",
35
+ "weight": 16,
36
+ "lessons": [
37
+ { "title": "Bài 7: Cloud Native Architecture & Design Patterns", "slug": "07-cloud-native-architecture" }
38
+ ]
39
+ },
40
+ {
41
+ "name": "Domain 4: Cloud Native Observability",
42
+ "weight": 8,
43
+ "lessons": [
44
+ { "title": "Bài 8: Cloud Native Observability", "slug": "08-observability" }
45
+ ]
46
+ },
47
+ {
48
+ "name": "Domain 5: Application Delivery",
49
+ "weight": 8,
50
+ "lessons": [
51
+ { "title": "Bài 9: Application Delivery — Helm, GitOps & CI/CD", "slug": "09-helm-gitops-cicd" }
52
+ ]
53
+ }
54
+ ],
55
+ "questions": [
56
+ {
57
+ "id": 1,
58
+ "domain": "Domain 1: Kubernetes Fundamentals",
59
+ "question": "Which component is the ONLY point of access for the Kubernetes API in the control plane?",
60
+ "options": [
61
+ "etcd",
62
+ "kube-scheduler",
63
+ "kube-apiserver",
64
+ "kube-controller-manager"
65
+ ],
66
+ "correct": 2,
67
+ "explanation": "kube-apiserver is the central management entity and the only component that communicates directly with etcd. All other components and external users interact with the cluster through the API server."
68
+ },
69
+ {
70
+ "id": 2,
71
+ "domain": "Domain 1: Kubernetes Fundamentals",
72
+ "question": "What is the purpose of etcd in a Kubernetes cluster?",
73
+ "options": [
74
+ "Scheduling pods onto nodes",
75
+ "Managing container networking",
76
+ "Storing all cluster data as a consistent key-value store",
77
+ "Running health checks on pods"
78
+ ],
79
+ "correct": 2,
80
+ "explanation": "etcd is a consistent, distributed key-value store used as Kubernetes' backing store for all cluster data, including configuration, state, and metadata."
81
+ },
82
+ {
83
+ "id": 3,
84
+ "domain": "Domain 1: Kubernetes Fundamentals",
85
+ "question": "Which workload resource ensures exactly one pod runs on every node in the cluster?",
86
+ "options": [
87
+ "Deployment",
88
+ "ReplicaSet",
89
+ "DaemonSet",
90
+ "StatefulSet"
91
+ ],
92
+ "correct": 2,
93
+ "explanation": "A DaemonSet ensures that a copy of a pod runs on all (or a subset of) nodes. Common use cases include log collection agents, monitoring daemons, and network plugins."
94
+ },
95
+ {
96
+ "id": 4,
97
+ "domain": "Domain 1: Kubernetes Fundamentals",
98
+ "question": "What is the difference between a ConfigMap and a Secret in Kubernetes?",
99
+ "options": [
100
+ "ConfigMaps can only store files, Secrets store key-value pairs",
101
+ "Secrets are encrypted at rest by default, ConfigMaps are not",
102
+ "Secrets are base64-encoded and intended for sensitive data, ConfigMaps are for non-sensitive configuration",
103
+ "There is no difference, they are interchangeable"
104
+ ],
105
+ "correct": 2,
106
+ "explanation": "Secrets are base64-encoded and designed for sensitive data like passwords and tokens. ConfigMaps hold non-sensitive configuration. Note: Secrets are NOT encrypted by default — encryption at rest must be configured separately."
107
+ },
108
+ {
109
+ "id": 5,
110
+ "domain": "Domain 1: Kubernetes Fundamentals",
111
+ "question": "Which Kubernetes Service type exposes a service on a static port on each node's IP?",
112
+ "options": [
113
+ "ClusterIP",
114
+ "NodePort",
115
+ "LoadBalancer",
116
+ "ExternalName"
117
+ ],
118
+ "correct": 1,
119
+ "explanation": "NodePort exposes the Service on each node's IP at a static port (range 30000-32767). External traffic can reach the service via <NodeIP>:<NodePort>."
120
+ },
121
+ {
122
+ "id": 6,
123
+ "domain": "Domain 1: Kubernetes Fundamentals",
124
+ "question": "What does a NetworkPolicy control?",
125
+ "options": [
126
+ "DNS resolution between pods",
127
+ "Resource limits for containers",
128
+ "Ingress and egress traffic to/from pods at the IP address or port level",
129
+ "TLS certificate management"
130
+ ],
131
+ "correct": 2,
132
+ "explanation": "NetworkPolicies are used to control the flow of traffic between pods and/or external endpoints at the network level. They allow you to specify ingress and egress rules based on pod labels, namespaces, and IP blocks."
133
+ },
134
+ {
135
+ "id": 7,
136
+ "domain": "Domain 1: Kubernetes Fundamentals",
137
+ "question": "Which object grants permissions within a specific namespace?",
138
+ "options": [
139
+ "ClusterRole",
140
+ "Role",
141
+ "ClusterRoleBinding",
142
+ "ServiceAccount"
143
+ ],
144
+ "correct": 1,
145
+ "explanation": "A Role defines permissions (rules) within a specific namespace. A ClusterRole defines permissions cluster-wide. RoleBinding binds a Role to subjects within a namespace."
146
+ },
147
+ {
148
+ "id": 8,
149
+ "domain": "Domain 1: Kubernetes Fundamentals",
150
+ "question": "What happens when a Pod's liveness probe fails repeatedly?",
151
+ "options": [
152
+ "The pod is moved to another node",
153
+ "The container is restarted by the kubelet",
154
+ "The pod is deleted permanently",
155
+ "Kubernetes sends an alert notification"
156
+ ],
157
+ "correct": 1,
158
+ "explanation": "When a liveness probe fails beyond the configured failureThreshold, the kubelet restarts the container. This helps recover from situations where the application is running but stuck or deadlocked."
159
+ },
160
+ {
161
+ "id": 9,
162
+ "domain": "Domain 1: Kubernetes Fundamentals",
163
+ "question": "Which component on a worker node is responsible for maintaining network rules and enabling Service communication?",
164
+ "options": [
165
+ "kubelet",
166
+ "kube-proxy",
167
+ "container runtime",
168
+ "CoreDNS"
169
+ ],
170
+ "correct": 1,
171
+ "explanation": "kube-proxy runs on each node and maintains network rules (using iptables or IPVS) that allow network communication to pods from inside or outside the cluster through Services."
172
+ },
173
+ {
174
+ "id": 10,
175
+ "domain": "Domain 2: Container Orchestration",
176
+ "question": "What is the OCI (Open Container Initiative) responsible for?",
177
+ "options": [
178
+ "Managing Kubernetes releases",
179
+ "Defining industry standards for container image formats and runtimes",
180
+ "Providing a managed container service",
181
+ "Developing the Docker engine"
182
+ ],
183
+ "correct": 1,
184
+ "explanation": "The OCI defines open industry standards around container image format (Image Spec) and runtime (Runtime Spec), ensuring interoperability between different container tools and platforms."
185
+ },
186
+ {
187
+ "id": 11,
188
+ "domain": "Domain 2: Container Orchestration",
189
+ "question": "Which container runtime is the default in modern Kubernetes (v1.24+)?",
190
+ "options": [
191
+ "Docker",
192
+ "rkt",
193
+ "containerd",
194
+ "LXC"
195
+ ],
196
+ "correct": 2,
197
+ "explanation": "Since Kubernetes v1.24, dockershim was removed. containerd and CRI-O are the primary CRI-compliant container runtimes. containerd is the most widely used default runtime."
198
+ },
199
+ {
200
+ "id": 12,
201
+ "domain": "Domain 2: Container Orchestration",
202
+ "question": "What is the purpose of a Horizontal Pod Autoscaler (HPA)?",
203
+ "options": [
204
+ "Increasing node count in the cluster",
205
+ "Automatically adjusting the number of pod replicas based on observed metrics",
206
+ "Vertically scaling container CPU and memory",
207
+ "Balancing traffic across services"
208
+ ],
209
+ "correct": 1,
210
+ "explanation": "HPA automatically scales the number of pod replicas in a Deployment, ReplicaSet, or StatefulSet based on observed CPU utilization, memory, or custom metrics."
211
+ },
212
+ {
213
+ "id": 13,
214
+ "domain": "Domain 2: Container Orchestration",
215
+ "question": "What does 'kubectl drain <node>' do?",
216
+ "options": [
217
+ "Deletes the node from the cluster",
218
+ "Stops the kubelet service on the node",
219
+ "Safely evicts all pods from the node and marks it as unschedulable",
220
+ "Restarts all pods on the node"
221
+ ],
222
+ "correct": 2,
223
+ "explanation": "kubectl drain safely evicts all pods from a node (respecting PodDisruptionBudgets), marks the node as unschedulable (cordon), and is typically used before maintenance or upgrades."
224
+ },
225
+ {
226
+ "id": 14,
227
+ "domain": "Domain 3: Cloud Native Architecture",
228
+ "question": "Which methodology defines best practices for building cloud-native applications?",
229
+ "options": [
230
+ "Waterfall methodology",
231
+ "12-Factor App",
232
+ "ITIL framework",
233
+ "TOGAF"
234
+ ],
235
+ "correct": 1,
236
+ "explanation": "The 12-Factor App methodology provides guidelines for building modern, cloud-native applications that are portable, scalable, and suitable for deployment on cloud platforms."
237
+ },
238
+ {
239
+ "id": 15,
240
+ "domain": "Domain 3: Cloud Native Architecture",
241
+ "question": "What is a Service Mesh?",
242
+ "options": [
243
+ "A Kubernetes networking plugin (CNI)",
244
+ "A dedicated infrastructure layer for handling service-to-service communication with observability, security, and traffic management",
245
+ "A load balancer for external traffic",
246
+ "A container orchestration platform"
247
+ ],
248
+ "correct": 1,
249
+ "explanation": "A service mesh (e.g., Istio, Linkerd) provides a dedicated infrastructure layer for managing service-to-service communication, including features like mTLS, traffic routing, retries, circuit breaking, and observability."
250
+ },
251
+ {
252
+ "id": 16,
253
+ "domain": "Domain 3: Cloud Native Architecture",
254
+ "question": "Which architectural pattern breaks an application into small, independently deployable services?",
255
+ "options": [
256
+ "Monolithic architecture",
257
+ "Microservices architecture",
258
+ "Serverless architecture",
259
+ "Event-driven architecture"
260
+ ],
261
+ "correct": 1,
262
+ "explanation": "Microservices architecture decomposes an application into small, loosely coupled services that can be developed, deployed, and scaled independently."
263
+ },
264
+ {
265
+ "id": 17,
266
+ "domain": "Domain 4: Cloud Native Observability",
267
+ "question": "Which tool is the de facto standard for metrics collection and monitoring in cloud-native environments?",
268
+ "options": [
269
+ "Elasticsearch",
270
+ "Prometheus",
271
+ "Fluentd",
272
+ "Jaeger"
273
+ ],
274
+ "correct": 1,
275
+ "explanation": "Prometheus is the CNCF graduated project that has become the standard for metrics collection, storage, and alerting in cloud-native environments. It uses a pull-based model and PromQL for querying."
276
+ },
277
+ {
278
+ "id": 18,
279
+ "domain": "Domain 4: Cloud Native Observability",
280
+ "question": "What are the three pillars of observability?",
281
+ "options": [
282
+ "CPU, Memory, Disk",
283
+ "Logs, Metrics, Traces",
284
+ "Alerts, Dashboards, Reports",
285
+ "Latency, Throughput, Errors"
286
+ ],
287
+ "correct": 1,
288
+ "explanation": "The three pillars of observability are Logs (event records), Metrics (numerical measurements over time), and Traces (distributed request flows). Together they provide full visibility into system behavior."
289
+ },
290
+ {
291
+ "id": 19,
292
+ "domain": "Domain 5: Application Delivery",
293
+ "question": "What is GitOps?",
294
+ "options": [
295
+ "Using Git as a CI/CD pipeline runner",
296
+ "A practice where Git repositories are the single source of truth for declarative infrastructure and application deployment",
297
+ "A Git branching strategy for microservices",
298
+ "Using GitHub Actions exclusively for deployments"
299
+ ],
300
+ "correct": 1,
301
+ "explanation": "GitOps uses Git as the single source of truth for declarative infrastructure and applications. Changes are made via pull requests, and an operator (e.g., ArgoCD, Flux) ensures the cluster state matches the desired state in Git."
302
+ },
303
+ {
304
+ "id": 20,
305
+ "domain": "Domain 5: Application Delivery",
306
+ "question": "What is a Helm Chart?",
307
+ "options": [
308
+ "A Kubernetes monitoring dashboard",
309
+ "A collection of files that describe a related set of Kubernetes resources for packaging and deployment",
310
+ "A security scanning tool for containers",
311
+ "A CI/CD pipeline configuration"
312
+ ],
313
+ "correct": 1,
314
+ "explanation": "A Helm Chart is a package of pre-configured Kubernetes resources. It includes templates, default values, and metadata, allowing users to deploy complex applications with a single command (helm install)."
315
+ }
316
+ ]
317
+ }
package/data/quizzes.json CHANGED
@@ -565,17 +565,20 @@
565
565
  "id": "gcp-ml-engineer",
566
566
  "title": "Google Cloud Professional ML Engineer",
567
567
  "slug": "gcp-ml-engineer",
568
- "description": "Luyện thi chứng chỉ Google Cloud Professional Machine Learning Engineer",
568
+ "description": "Practice exam for Google Cloud Professional Machine Learning Engineer — 50 questions covering all domains",
569
569
  "icon": "award",
570
570
  "provider": "Google Cloud",
571
- "level": "Chuyên nghiệp",
571
+ "level": "Professional",
572
572
  "duration_minutes": 120,
573
573
  "passing_score": 70,
574
- "questions_count": 15,
574
+ "questions_count": 50,
575
575
  "tags": [
576
576
  "GCP",
577
577
  "ML",
578
- "Vertex AI"
578
+ "Vertex AI",
579
+ "BigQuery ML",
580
+ "MLOps",
581
+ "TFX"
579
582
  ],
580
583
  "series_slug": "luyen-thi-gcp-ml-engineer",
581
584
  "questions": [
@@ -1819,5 +1822,47 @@
1819
1822
  "explanation": "A Headless Service (clusterIP: None) skips kube-proxy and returns Pod IPs directly via DNS. Used by StatefulSets for stable network identities and by clients that need direct Pod connections (e.g., databases, Cassandra)."
1820
1823
  }
1821
1824
  ]
1825
+ },
1826
+ {
1827
+ "id": "kcna",
1828
+ "title": "KCNA — Kubernetes and Cloud Native Associate",
1829
+ "slug": "kcna",
1830
+ "description": "Practice exam for KCNA — 20 questions covering all 5 domains",
1831
+ "icon": "award",
1832
+ "provider": "CNCF",
1833
+ "level": "Foundational",
1834
+ "duration_minutes": 30,
1835
+ "passing_score": 75,
1836
+ "questions_count": 20,
1837
+ "tags": ["Kubernetes", "KCNA", "CNCF", "Cloud Native"],
1838
+ "series_slug": "luyen-thi-kcna"
1839
+ },
1840
+ {
1841
+ "id": "cka",
1842
+ "title": "CKA — Certified Kubernetes Administrator",
1843
+ "slug": "cka",
1844
+ "description": "Practice exam for CKA — 20 questions covering all 5 domains",
1845
+ "icon": "award",
1846
+ "provider": "CNCF",
1847
+ "level": "Professional",
1848
+ "duration_minutes": 45,
1849
+ "passing_score": 66,
1850
+ "questions_count": 20,
1851
+ "tags": ["Kubernetes", "CKA", "CNCF", "DevOps"],
1852
+ "series_slug": "luyen-thi-cka"
1853
+ },
1854
+ {
1855
+ "id": "ckad",
1856
+ "title": "CKAD — Certified Kubernetes Application Developer",
1857
+ "slug": "ckad",
1858
+ "description": "Practice exam for CKAD — 20 questions covering all 5 domains",
1859
+ "icon": "award",
1860
+ "provider": "CNCF",
1861
+ "level": "Professional",
1862
+ "duration_minutes": 45,
1863
+ "passing_score": 66,
1864
+ "questions_count": 20,
1865
+ "tags": ["Kubernetes", "CKAD", "CNCF", "DevOps"],
1866
+ "series_slug": "luyen-thi-ckad"
1822
1867
  }
1823
1868
  ]
@@ -7,7 +7,7 @@
7
7
  "profile_url": "https://xdev.asia/gioi-thieu/",
8
8
  "meta_keywords": "lập trình, khóa học, AI, LLM, machine learning, web development, devops",
9
9
  "site_url": "https://xdev.asia",
10
- "site_email": "",
10
+ "site_email": "duy@xdev.asia",
11
11
  "logo_url": null,
12
12
  "favicon_url": null,
13
13
  "google_analytics_id": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xdev-asia/xdev-knowledge-mcp",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "MCP Server - Toàn bộ kiến thức xDev.asia: 57 series, 1200+ lessons, blog, showcase (AI, Architecture, DevSecOps, Programming)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",