k8s安装指南
首先选择docker适配的k8s版本.
docker 版本 20.10.1
k8s 1.23.1-00 amd64
安装
安装前做的事
- 关闭swap.
- 添加k8s源.
- 版本选择
- 如果是window wsl. 需要确保 可以使用systemctl 而不是service.方案
1 | # k8s 的阿里源 |
1. 安装命令
1 | apt install kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00 -y |
2. 初始化
1 | kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 |
3. 安装Kubernetes.
安装 Kubernetes 集群有很多成熟的方案,在本地搭建也有 minikube、microk8s 等等,我们这里选择使用 KinD:在容器中来运行 Kubernetes 的一种简单方式。
1 | # 下载 KinD 二进制文件 |
1 | # 下载 KinD 二进制文件 |
4. 用kind创建一个k8s集群.
1 | # 检查是否设置了 KUBECONFIG 环境变量 |
5. 在集群中部署应用.
比如安装一个kubernetes Dashboard.
1 | # 在集群中安装 Dashboard |
遗留问题
- k8s的网络环境.
- DNS服务.
- wsl每次启动 怎么重启k8s.
- kubectl proxy 是什么 什么用.
- 共享资源下的 占用问题. 分配权重?? 针对高性能计算性服务.
- 服务优雅性. 上下线.
其他的概念.
- 网络环境: k8s的dns服务
1 | kubectl apply -f dig.yaml |
dig.yaml1
2
3
4
5
6
7
8
9
10
11
12
13
14apiVersion: v1
kind: Pod
metadata:
name: dig
namespace: default
spec:
containers:
- name: dig
image: docker.io/azukiapp/dig
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
因为/etc/docker/daemon.json 配置原因导致docker启动失败.
{
“exec-opts”: [“native.cgroupdriver=systemd”],
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “100m”
},
“data-root”: “/mnt/d/DockerData/dockerDatas”,
“storage-driver”: “overlay2”,
“storage-opts”: [“overlay2.override_kernel_check=true”],
“registry-mirrors”: [“https://tabss8zh.mirror.aliyuncs.com“],
“runtimes”: {
“nvidia”: {
“path”: “/usr/bin/nvidia-container-runtime”,
“runtimeArgs”: []
}
}
}
“data-root”: “/mnt/d/DockerData/docker”,
docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.1
docker默认的数据文件路径为
/var/lib/docker
参考文档
代码自动发布—docker版本(20.10.1)+k8s版本(1.20.1)
K8s教程
https://kuboard.cn/learning/
https://kubernetes.io/zh/
k8s中文文档