一、准备工作
测试服务器
服务器 | 配置 | 进程 | 功能 | 备注 |
192.168.0.189 | CPU:4核 内存32G | ansible | ansible一键安装k8s | |
192.168.0.141 | CPU:12核 内存:10G | docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico, kubesphere, nfs | k8s-master1 | |
192.168.0.142 | CPU:12核 内存:11G | docker,kubelet,kube-proxy,calico, nfs | k8s-node1 | 通过nfs将所有文件存储至当前节点下 |
192.168.0.143 | CPU:12核 内存:12G | docker,kubelet,kube-proxy,calico, nfs | k8s-node2 |
Centos7 SSH公钥生成及配置
# 在装有ansible的机器上生成公钥
ssh-keygen -t rsa -C "1053295500@qq.com"
# 按照提示,回车三次,即可生成ssh key,通过查看~/.ssh/id_rsa.pub文件内容
# 获取到public key
cat ~/.ssh/id_rsa.pub
# 通过下面步骤进行远程拷贝
服务器配置免密交互
# 首先登陆至装有ansible的机器 39.103.238.234
# 在ssh连接工具中使用如下命令与其需要安装的机器进行免密交互
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.141
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.142
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.143
# 测试是否可以连接
ssh root@192.168.0.141
ssh root@192.168.0.142
ssh root@192.168.0.143
二、下载ansible-install-k8s-master文件
# ansible-install-k8s-master_线下189百度网盘下载地址
链接: https://pan.baidu.com/s/1v4vWFwvGMPLLoUHwnLvJ_Q?pwd=rz62
# 安装附件百度云下载地址:
链接: https://pan.baidu.com/s/1sEM2wMWMU49MTtjbrE41FQ?pwd=gvbv
将下载好的附件上传至服务器,如线下测试环境统一由189服务器进行安装,具体目录根据实际情况而定,如下图所示
进入到/home/ansible/ansible-install-k8s-master目录下,对相关文件进行配置,具体安装步骤阅读文件援藏README.md,修改主文件/group_vars/all.yml,按照说明进行配置
进入/home/ansible/ansible-install-k8s-master目录下,执行安装命令,并输入密码进行自动化安装
● 单Master版本
ansible-playbook -i hosts single-master-deploy.yml -uroot -k
● 多Master版本
ansible-playbook -i hosts multi-master-deploy.yml -uroot -k
单节点k8s架构图设计如下:
多节点架构图如下:
安装完成在master节点下查看所有节点
查看30001 ip
kubectl --namespace=kubernetes-dashboard get service kubernetes-dashboard
查看dashboard密钥
$(kubectl describe secrets -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard | awk '/dashboard-admin/{print $1}') |awk '/^token/{print $2}')
节点扩容
# 修改hosts,添加新节点ip
vi hosts
[newnode]
192.168.0.157 node_name=k8s-node3
# 执行部署
ansible-playbook -i hosts add-node.yml -uroot -k
所有HTTPS证书存放路径
部署产生的证书都会存放到目录“ansible-install-k8s-master/ssl”,一定要保存好,后面还会用到~
三、helm安装,参照如下文档
helm安装及基本命令
四、k8s相关配置目录
部署完成后k8s配置目录
部署需要的文件放在/mnt/deer_soft/deploy下
下载地址:
# 线下master1-141服务器
链接: https://pan.baidu.com/s/1Sx3wuxyKbmuJV8QNqDMW8g?pwd=k4j5
五、最终配置安装
添加pro命令空间
kubectl create namespace pro
添加k8s镜像拉取secret
# 在master节点下执行
kubectl create secret docker-registry harbor-pull-secret-188 --docker-server=harbor.wuliuhub.com:8443 --docker-username=admin --docker-password=Harbor12345 -n pro
安装nfs和创建pvc
- volume之nfs挂载
创建项目运行时jvm参数
# 进入deploy目录
cd /mnt/deer_soft/deploy
# 运行jvm-conf-map.yml
kubectl apply -f jvm-conf-map.yml -n pro