运维实操k8s实操题目
时间: 2025-01-26 09:47:23 浏览: 46
### 关于Kubernetes (k8s) 运维实操练习题及相关资源
#### 创建并管理Pod
为了更好地理解如何创建和管理 Pod,可以尝试以下练习:
1. 使用 YAML 文件定义一个简单的 Nginx 应用程序,并将其部署到集群中[^3]。
```yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx-container
image: nginx
```
保存上述配置文件为 `nginx-pod.yaml` 并执行命令来创建此 Pod:
```bash
kubectl apply -f nginx-pod.yaml
```
2. 查看新创建的 Pod 的状态以及其所在节点的信息:
```bash
kubectl get pod nginx-pod -o wide
```
#### 命名空间的操作
了解命名空间有助于隔离不同环境下的工作负载。可以通过下面的例子熟悉这一概念:
1. 新建名为 `test-namespace` 的命名空间:
```bash
kubectl create namespace test-namespace
```
2. 在这个新的命名空间内启动一个新的 BusyBox 容器作为一次性调试工具:
```bash
kubectl run busybox --image=busybox --command -- sleep infinity -n test-namespace
```
#### 存储卷的应用
掌握持久化存储对于应用程序至关重要。这里有一个例子展示了如何挂载 PersistentVolume 到 Pod 中:
1. 准备好 PersistentVolume 和 PersistentVolumeClaim 的 YAML 文件:
PersistentVolume (`pv.yaml`) :
```yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/tmp"
```
PersistentVolumeClaim (`pvc.yaml`) :
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
```
2. 将 PVC 挂载至 Pod 内部容器路径 `/data` 下:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
```
以上操作完成后即可验证数据是否成功写入到了指定位置。
#### Service与Ingress的理解
Service 是 Kubernetes 内部的服务发现机制;而 Ingress 提供了外部访问服务的方式。两者之间的区别在于适用场景和服务暴露方式的不同[^5]。
阅读全文
相关推荐














