k8s安装
- master节点内存不能小于2G
- 虚拟机采用vitualbox,网络可选用桥接网卡的形式,虚机可访问外网、可互访、可与宿主机通信
- dashboard的token失效时间更改
- 测试部署采用1个部署节点,1个(3个)master节点,1个(3个)node节点
- 部署采用kubeasz AllinOne的方式部署即可
- 百度云资料下载可通过BaiduPCS-Go工具进行下载
- 每台机器需要配置好 SSH 互访
- 安装完成后,主要在部署节点进行 k8s 操作
dashboard设置
修改dashboard的token过期时间
1
2
3
4# 在dashboar的部署文件修改如下参数
args:
- --auto-generate-certificates
- --token-ttl=43200 //增加该参数,43200单位为秒获取登陆dashboard的token
1
2
3
4
5
6# 获取dashboard的token
kubectl get secrets -n kube-system
# 其中admin-user开头的即为dashboard使用的账号
kubectl describe secrets -n kube-system admin-user-token-dvcqz
# 获取token或者如下一步获取
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
helm安装
1 | # 客户端 |
安装heapster相关
安装完成后dashborad自动增加显示节点性能图表1
2
3# 直接使用以下命令即可安装 heapster influxdb grafana
# 安装完成后,稍等1分钟即可在dashboard中看到CPU 内存消耗相关数据
kubectl create -f /etc/ansible/manifests/heapster/
NFS持久化处理
搭建服务端(Ubuntu)
1
2
3
4
5
6
7
8apt-get install nfs-kernel-server
mkdir /nfs/data
chmod a+rw /nfs/data
vi /etc/exports
# 增加如下一行
/nfs/data *(rw,sync,no_subtree_check)
# 将 /nfs/data 开放,* 代表所有ip可访问
# rw是读写权限,sync是同步权限,no_subtree_check表示如果输出目录是一个子目录,nfs服务器不检查其父目录的权限安装客户端
1
2
3
4
5
6# 所有Node机器上
apt-get install -y nfs-common
# 创建nfs需要用到的serviceaccount
# 参考 nfs-serviceaccount.yaml
# 创建 nfs部署服务(用于挂载nfs),参考nfs.yaml,其中的nfs挂载地址也可换成其他服务商的挂载地址(如阿里云)
# 创建StorgeClass进行使用,参考 sc.yaml
nfs部署及StoregeClass均无物创建之后,可进行使用,如在traefik中使用了ACME的持久化处理,该步骤需要先处理
- CentOS
参考如下:Linux—centos安装配置并挂载NFS停止部署/启动部署最快捷的方式
1
2
3
4# 伸缩部署为0即相当于停止了部署运行或者
kubectl scale deploy deploy-name --replicas=0
kubectl scale deploy deploy-name --replicas=1
# 即完成了部署的重启工作
ConfigMap创建和挂载
1 | # 创建 configmap |