k8s 笔记
时间: 2025-03-17 14:16:16 浏览: 40
### 关于 Kubernetes (k8s) 的学习笔记和教程
#### 什么是 Kubernetes?
Kubernetes 是一种开源容器编排平台,旨在自动化应用程序的部署、扩展以及管理。它支持多种类型的负载均衡策略、滚动更新以及其他高级功能。
#### 如何查看 ConfigMap 的 YAML 配置?
可以通过 `kubectl` 命令来获取指定名称的 ConfigMap 并将其以 YAML 格式显示出来[^1]:
```bash
kubectl get cm redis-conf -o yaml
```
此命令将返回名为 `redis-conf` 的 ConfigMap 的详细配置信息。
#### 用户账户和服务账户的区别是什么?
在 Kubernetes 集群中存在两种主要类型的客户端账户:User Account 和 Service Account[^2]。
- **User Account**:由外部服务管理系统维护,通常用于管理员或其他人类用户的认证。
- **Service Account**:由 Kubernetes 自身管理,主要用于 Pod 内的服务进程访问 API 或其他资源的身份验证。
#### Deployment 的重要字段解释
Deployment 是 Kubernetes 中用来定义应用副本集的核心概念之一。以下是其一些关键字段及其作用[^3]:
- **metadata**: 类似于 Pod 的元数据部分;若未显式声明命名空间,则默认采用当前上下文中设置的命名空间(通常是 `default`)。
- **spec**: 描述了期望状态下的资源配置详情,其中包含了所管理 Pods 的具体规格描述。
- **replicas**: 定义所需保持运行的状态下应该存在的实例数量。
- **template**: 提供了一个模板样例,规定新创建出来的每一个 Pod 应具备哪些属性特征。
#### 授权操作示例
为了给某个角色绑定权限,可以执行如下指令完成授权过程[^4]:
```yaml
kubectl create -f role-rolebinding.yaml
```
上述语句通过加载预先编写好的 RoleBinding 文件实现特定主体获得相应权利的功能。
#### 创建 Nginx Pod 实例的方法
利用命令行工具快速启动一个新的基于镜像版本号为 `nginx:1.17.1` 的单节点 Web Server 可以这样操作[^5]:
```bash
kubectl run nginx-pod --image=nginx:1.17.1 --port=80
```
---
阅读全文
相关推荐

















