二进制包方式安装部署三节点k8s
一 、集群情况如下,master作为k8s的主节点,在slave1上搭建docker的私库
Master |
192.168.235.128 |
etcd、kube-apiserver、kube-controller-manager、 kubescheduler、docker |
slave1 |
192.168.235.129 |
kube-proxy、kubelet、docker、docker私库 |
slave2 |
192.168.235.131 |
kube-proxy、kubelet、docker |
二、配置
1、每个节点上关闭防火墙
(1)关闭防火墙
systemctl stop firewalld.service
(2)禁止firewall开机启动
systemctl disable firewalld.service
(3)查看默认防火墙状态(关闭后显示not running ,开启后显示 running)
firewall-cmd –state
2、每个节点上修改权限和建立文件夹
(1)sudo chmod –R +777 /opt
(2)sudo chmod –R +777 /usr/bin/
(3)mkdir /opt/k8s
3、每个节点上配置docker
(1)设置yum源
拷贝“每个节点”文件夹下/etc/yum.repos.d/docker.repo中的docker.repo文件到/etc/yum.repos.d/目录
(2)安装docker
yum install docker-engine
(3)安装后查看docker版本
docker –v
(4)是否需要设置国内镜像??
4、在slave1上配置docker私服
(1)docker pull registry
(2)配置国内源和设置私服信赖
拷贝“slave节点”文件夹下文件夹内的daemon.json到slave1的/etc/docker/目录下。(文件中需要配置私服的ip)
(3)重启docker并设置开机启动
systemctl restart docker
systemctl enable docker
(4)启动私服
docker run -di --name=registry -p 5000:5000 registry
(5)提交镜像到私服
docker pull kubernetes/pause
docker tag docker.io/kubernetes/pause:latest 192.168.126.143:5000/google_containers/pauseamd64.3.0
docker push 192.168.126.143:5000/google_containers/pause-amd64.3.0
(6)查看是否提交成功
http://192.168.235.129:5000/v2/_catalog
5、在master上配置etcd
(1)拷贝“master节点”文件夹etcd-v3.3.9-linux-amd64.tar到/opt/k8s并解压,tar -xzvf etcd-v3.3.9-linux-amd64.tar,之后将解压目录内的etcd和etcdctl复制到/usr/bin目录
(2)拷贝“master节点”中的etcd.service 文件到/usr/lib/systemd/system/,并创建目录mkdir -p /var/lib/etcd/
(3)启动与测试etcd服务
systemctl daemon-reload
systemctl enable etcd.service
systemctl start etcd.service
etcdctl cluster-health
6、在master上配置kube-apiserver
(1)拷贝“每个节点”文件夹kubernetes-server-linux-amd64.tar到/opt/k8s并解压,tar -xzvf kubernetes-server-linux-amd64.tar,之后将/opt/k8s/kubernetes/server/bin目录下的kube-apiserver kube-controller-manager kube-scheduler kubectl复制到/usr/bin目录
cd /opt/k8s/kubernetes/server/bin
cp kube-apiserver kube-controller-manager kube-scheduler kubectl /usr/bin/
(2)拷贝“master节点”文件夹中的kube-apiserver.service文件到/usr/lib/systemd/system/
(3)创建目录:mkdir /etc/kubernetes并拷贝“master节点”文件夹中的apiserver文件到/etc/kubernetes
7、在master上配置kube-controller-manager
(1)拷贝“master节点”文件夹中的kube-controller-manager.service文件到/usr/lib/systemd/system/
(2)拷贝“master节点”文件夹中的controller-manager文件到/etc/kubernetes/(文件中需要设置—master为主节点的ip地址)
8、在master上配置kube-scheduler
(1)拷贝“master节点”文件夹中的kube-scheduler.service文件到/usr/lib/systemd/system/
(2)拷贝“master节点”文件夹中的scheduler文件到/etc/kubernetes/(文件中需要设置—master为主节点的ip地址)
9、在slave1和slave2上配置kubelet
(1)拷贝“每个节点”文件夹kubernetes-server-linux-amd64.tar到/opt/k8s并解压,tar -xzvf kubernetes-server-linux-amd64.tar,之后将/opt/k8s/kubernetes/server/bin目录下的kubelet、kube-proxy复制到/usr/bin目录
cd /opt/k8s/kubernetes/server/bin
cp kubelet kube-proxy /usr/bin/
(2)拷贝“slave节点”文件夹中的kubelet.service文件到/usr/lib/systemd/system/并创建文件sudo chmod -R +777 /var/lib
mkdir -p /var/lib/kubelet
(3)创建/ect/kubernetes目录mkdir /ect/kubernetes并拷贝“slave节点”文件夹中的kubelet文件到/ect/kubernetes(文件中需要设置--hostname-override为本机的ip地址)
(4)拷贝“slave节点”文件夹中的kubeconfig文件到/ect/kubernetes(文件中需要设置server为master的ip地址)
10、在slave1和slave2上配置kube-proxy
(1)拷贝“slave节点”文件夹中的kube-proxy.service文件到/usr/lib/systemd/system/
(2)拷贝“slave节点”文件夹中的proxy文件到/ect/kubernetes(文件中需要设置--master为master的ip地址)
11、master启动
完成以上配置后,按顺序启动服务
systemctl daemon-reload
systemctl enable kube-apiserver.service
systemctl start kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl start kube-controller-manager.service
systemctl enable kube-scheduler.service
systemctl start kube-scheduler.service
检查每个服务的健康状态:
systemctl status kube-apiserver.service
systemctl status kube-controller-manager.service
systemctl status kube-scheduler.service
12、slave启动
systemctl daemon-reload
systemctl enable kubelet
systemctl start kubelet
systemctl status kubelet
systemctl enable kube-proxy
systemctl start kube-proxy
systemctl status kube-proxy
13、测试
(1)拷贝“master节点”文件夹下的nginx-rc.yaml和nginx-svc.yaml到/opt/k8s/ 文件夹中
(2)提交rc和service描述文件,创建服务
kubectl create -f nginx-rc.yaml
kubectl create -f nginx-svc.yaml
(3)查看当前命名空间下的pod
kubectl get pods
(4)查看所有容器列表
kubectl get all
14、更多细节请参考其余四个文件。
15、kubectl get pods时no resource found的问题
(1)在slave节点上修改/etc/kubernetes/kubelet配置为KUBELET_ARGS="--pod_infra_container_image=192.168.126.143:5000/google_containers/pauseamd64.3.0"(和slave1上私服提交的镜像相对应,ip为私服所在slave1的ip)
(2)在master节点上修改/etc/kubernetes/apiserver,找到KUBE_ADMISSION_CONTROL,去掉SecurityContextDeny,ServiceAcc
ount
注:直接拷贝文件过去应该是已经修改好的,应该是不需要设置,这里写出来是为了注意一下。
二进制包方式安装部署三节点k8s相关推荐
- CentOS7中基于rpm包方式安装部署apm(php module模块)+ xcache
CentOS 7, 基于rpm包方式安装部署apm(php module) : 要点: 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress: 1.配置环境: (1)关闭防火墙 ...
- k8s集群部署 | 三节点(复用)高可用集群过程参考
文章目录 1. kubeadm 部署三节点(复用)高可用 k8s 集群 1.1 环境规划阶段 1.1.1 实验架构图 1.1.2 系统版本说明 1.1.3 环境基本信息 1.1.4 k8s 网段划分 ...
- Hyperledger Fabric 二进制安装部署 Peer 节点
Hyperledger Fabric 二进制安装部署 Peer 节点 规划网络拓扑 3 个 orderer 节点; 组织 org1 , org1 下有两个 peer 节点, peer0 和 peer1 ...
- 使用二进制的方式安装mysql实践纪要
下面是记录使用二进制的方式安装mysql的步骤 2011.3.5 使用二进制安装的好处 mysql安装为什么大部分使用二进制安装.而不是源码手动去编译? mysql使用的glibc进行开发的 ...
- 安装jdk步骤rpm_jenkins rpm包方式安装
war包方式安装jenkins已经说过java openjdk的安装和注意事项,这里不做赘述 前提:确保 java的jdk或者jre已安装 #]java -version #]whereis java ...
- Nginx实战基础篇一 源码包编译安装部署web服务器
Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...
- Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛
Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览. ...
- mysql5.5源码包安装_mysql的源码包方式安装(mysql5.5)
-------初写博客,希望在工作和日常中学习到的一些知识和经验与大家交流分享! 在Mysql5.5之后,使用源码包方式安装mysql就需要通过cmake方式进行编译了.以下内容介绍通过cmake方式 ...
- nginx免安装二进制包制作(安装推荐)
文章目录 nginx官网 安装包下载 安装 1.16.1免安装包下载 制作免安装包 1.下载nginx-portable-master 2. 编译指定版本 部署 上传并解压 启动 查看信息 yum 安 ...
最新文章
- 对话高博(一)| 机器码、Pascal,以及计算机学习的分形
- 【云炬大学生创业基础笔记】第1章第1节 测试
- 实验四——多分支结构及本章总结
- 数据驱动科技赋能,东吴证券打造数据中台“九大能力”
- 收藏!博士大佬的《机器学习》西瓜书手推笔记!
- echarts realtime图实现
- 用 QT实现拖放(drag-drop)功能
- python画三维投影图_python之画三维图像
- 【Lesson 2】 大调音阶及大调和弦
- Java的泛型---(英雄联盟集合嵌套案例)
- scala当中的文件操作、网络请求和隐式转换
- telnet控制路由器交换机与微信公众平台
- Unity-ProBuilder
- 2019最应该投资什么?是你明年的北大核心
- 你和csdn是什么关系
- 随身车联网——车联网生态新物种(附发布会视频)
- 理解矩阵和特征向量的本质
- js-视频播放插件Video.js简单使用
- laravel jwt attempt 总是返回false
- Rosetta Stone的第一遍学习总结