K8S和docker学习路径
时间: 2023-10-27 18:48:14 浏览: 139
学习K8S和Docker的路径可以如下:
1. 先了解Docker的基本概念和使用方法,可以从官方文档开始学习。
2. 学习Docker的网络、存储、镜像等高级特性。
3. 掌握Docker Compose,可以使用它来管理多个容器的运行。
4. 学习K8S的基础概念,包括Pod、Service、Deployment等。
5. 学习K8S的高级特性,如StatefulSet、DaemonSet、Job等。
6. 学习如何使用K8S来管理应用程序的生命周期,包括部署、升级、回滚等。
7. 学习K8S的安全机制和策略,包括RBAC、Pod Security Policies等。
8. 学习K8S的监控和调试方法。
9. 学习K8S的扩展和定制方法,包括自定义资源、控制器等。
10. 实践练习,可以使用Minikube或Kubeadm搭建本地环境进行实验。
总的来说,学习K8S和Docker需要持续的学习和实践,因为它们涉及到很多的知识点和技能。建议多看官方文档和实践经验分享,同时也可以参加相关的培训课程和线上社区。
相关问题
k8s使用docker
### 配置和使用 Docker 作为 Kubernetes 的容器引擎
尽管有消息指出 Kubernetes 将逐步减少对 Docker 支持的趋势[^2],当前版本仍然允许通过特定配置来使用 Docker 作为容器运行时。以下是具体的操作指南:
#### 设置 Docker 服务参数
为了使 Kubernetes 能够识别并利用 Docker 来启动 Pod 和容器,需要确保 kubelet 组件能够访问到 Docker API 接口。这通常涉及到设置 `kubelet` 启动选项中的 `--container-runtime-endpoint` 参数指向 Docker 提供的服务端点。
```bash
sudo systemctl set-environment KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint=/var/run/dockershim.sock"
```
此命令会修改系统的环境变量以传递给 kubelet 正确的容器运行时期望路径[^3]。
#### 修改 cgroup driver 类型匹配
由于 Docker 默认使用的 cgroupfs 可能与某些 Linux 发行版上的 systemd 不兼容,因此建议确认两者所采用的 cgroups 驱动程序一致。可以通过编辑 `/etc/docker/daemon.json` 文件实现这一点:
```json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
```
之后重启 Docker 服务使得更改生效,并相应地调整 kubeadm 初始化或加入节点时指定相同的 cgroup 驱动方式。
#### 创建包含镜像拉取策略的 YAML 清单文件
当定义工作负载资源对象(如 Deployment 或者 StatefulSet)时,可以在 spec.template.spec.imagePullPolicy 字段内指明镜像获取行为。对于已经存在于本地缓存里的 Docker Hub 官方仓库镜像,默认情况下无需每次都重新下载;而对于私有注册表,则可能需要额外的身份验证凭证配置。
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- containerPort: 80
imagePullPolicy: IfNotPresent # 如果存在就不再拉取新版本
```
上述清单展示了如何基于 Docker 构建 Nginx Web Server 实例群集部署方案的一部分[^1]。
k8s配置docker
### 如何在 Kubernetes (k8s) 中配置 Docker 容器运行时
#### 配置概述
为了使 Kubernetes 使用 Docker 作为容器运行时,在 `kubelet` 的配置文件 (`kubelet.conf`) 没有指定其他容器运行时时,可以按照特定的方法来完成这一过程[^1]。
#### 修改 Kubelet 配置
通常情况下,修改 `/etc/default/kubelet` 文件或相应的环境变量文件以包含 CRI(容器运行时接口)插件指向 Docker 所需的参数。对于大多数 Linux 发行版来说,这涉及到编辑该路径下的文件并加入如下内容:
```bash
KUBELET_EXTRA_ARGS="--container-runtime=docker"
```
此命令指定了要使用的容器运行时为 Docker。
#### 更新 cgroup 驱动程序一致性
确保 Docker 和 kubelet 使用相同的 cgroup 驱动非常重要。默认情况下,Docker 可能会使用不同的驱动方式(如 systemd 或 cgroupfs)。可以通过调整 Docker 的配置文件 `/etc/docker/daemon.json` 来保持一致:
```json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
```
重启 Docker 服务以便应用更改,并相应地更新 kubelet 的启动选项以匹配上述设置[^3]。
#### 验证安装
最后一步是验证新的配置是否生效。通过执行下面这条命令查看节点状态以及确认所选的容器运行时已被采用:
```shell
kubectl get nodes -o wide
```
如果一切正常,则可以看到有关节点的信息中包含了正在使用的容器运行时版本信息[^4]。
阅读全文
相关推荐
















