k8s 安装部署步骤
准备环境:三台centos7 服务器
192.168.6.129 k8s-master(主)
192.168.6.130 k8s-node-1(节点)
192.168.6.131 k8s-node-2(节点)
kubernetes(k8s)的安装方法
五种方法:
kubernetes 二进制安装 (配置最繁琐,不亚于安装openstack)
kubeadm 安装 (谷歌推出的自动化安装工具,网络有要求)
minikube 安装 (仅仅用来体验k8s)
yum 安装 (最简单,版本比较低====学习推荐此种方法)
go编译安装 (最难)
我们采用yum安装,学习怎么使用k8s才是重点。
1、修改主机和host 解析
#请在129-130-131三台机器都执行如下操作
vim /etc/hosts:
192.168.6.129 k8s-master192.168.6.130 k8s-node-1192.168.6.131 k8s-node-2
修改主机名:
hostnamectl set-hostname k8s-masterhostnamectl set-hostname k8s-node-1hostnamectl set-hostname k8s-node-2
2: 安装docker 1.12版本,系统自带的1.13有点小bug,需要修改,不然后期容器网络通讯会不通
[root@k8s-master ~]# yum provides dockerloaded plugins: fastestmirrordetermining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64 : automates deployment of: containerized applicatrepo : extras2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 : automates deployment of: containerized applicationsrepo : extras[root@k8s-master ~]#
去官网找1.12版本docker
http://vault.centos.org/7.4.1708/extras/x86_64/packages/
需要提前安装 centos-base.repo源
三台机器都需要下载这三个docker包:
http://vault.centos.org/7.4.1708/extras/x86_64/packages/docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
http://vault.centos.org/7.4.1708/extras/x86_64/packages/docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
http://vault.centos.org/7.4.1708/extras/x86_64/packages/docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
[root@k8s-master ~]# lsdocker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpmdocker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpmdocker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm[root@k8s-master ~]# scp * 192.168.6.130:~root@192.168.6.130's password:docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15mb 30.7mb/s 00:00docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451kb 29.6mb/s 00:00docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83kb 6.9mb/s 00:00[root@k8s-master ~]# scp * 192.168.6.131:~root@192.168.6.131's password:docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15mb 24.2mb/s 00:00docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451kb 23.3mb/s 00:00docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83kb 5.8mb/s 00:00[root@k8s-master ~]#
卸载系统已经安装的docker
由于笔者前面安装有docker-ce版本,需要全部卸载干净(推荐你使用全新的机器安装)
[root@k8s-node-1 ~]# rpm -qa |grep dockerdocker-ce-19.03.3-3.el7.x86_64docker-ce-cli-19.03.3-3.el7.x86_64[root@k8s-node-1 ~]# rpm -e docker-ce-19.03.3-3.el7.x86_64[root@k8s-node-1 ~]# rpm -e docker-ce-cli-19.03.3-3.el7.x86_642[root@k8s-node-1 ~]# rm -rf /var/lib/docker/* 清空之前docker产生的所有文件。[root@k8s-node-1 ~]# rm -rf /etc/docker/*
3、在三台都安装docker 1.12(必须要按如下顺序安装,不然可能会报错)
yum localinstall docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -yyum localinstall docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -yyum localinstall docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
4、验证docker 是否安装成功
[root@k8s-master ~]# docker -vdocker version 1.12.6, build 3e8e77d/1.12.6
5、master节点安装etcd (k8s数据库kv类型存储)原生支持做集群
[root@k8s-master ~]# yum install etcd.x86_64 -y[root@k8s-master ~]# vim /etc/etcd/etcd.confetcd_listen_client_urls="http://0.0.0.0:2379"etcd_advertise_client_urls="http://192.168.6.129:2379"#启动[root@k8s-master ~]# systemctl start etcd.service[root@k8s-master ~]# systemctl enable etcd.service#测试#set 设置一队键值 数据存储[root@k8s-master ~]# etcdctl set testdir/testkey0 xujinxujin#get获取[root@k8s-master ~]# etcdctl get testdir/testkey0xujin[root@k8s-master ~]##检测集群状态[root@k8s-master ~]# etcdctl -c http://192.168.6.129:2379 cluster-healthmember 8e9e05c52164694d is healthy: got healthy result from http://192.168.6.129:2379cluster is healthy[root@k8s-master ~]#
6、master节点安装kubernetes
[root@k8s-master ~]# yum install kubernetes-master.x86_64 -y#修改配置文件如下[root@k8s-master ~]# vim /etc/kubernetes/apiserver# the address on the local server to listen to.kube_api_address="--insecure-bind-address=0.0.0.0"# the port on the local server to listen on.kube_api_port="--port=8080"# port minions listen onkubelet_port="--kubelet-port=10250"# comma separated list of nodes in the etcd clusterkube_etcd_servers="--etcd-servers=http://192.168.6.129:2379"# default admission control policieskube_admission_control="--admission-control=namespacelifecycle,namespaceexists,limitranger,securitycontextdeny,resourcequota"#修改config文件[root@k8s-master ~]# vim /etc/kubernetes/configkube_master="--master=http://192.168.6.129:8080"
7、启动k8s
# 启动kube-apiserver#这个服务用来:接受并响应用户的请求[root@k8s-master ~]# systemctl enable kube-apiserver.service[root@k8s-master ~]# systemctl start kube-apiserver.service#启动 kube-controller-manager#控制管理器的概念,保证容器存活#每隔一段时间去扫描容器状态,看有没有死了。#容器死了,会调度apiserver再起一个新的容器#保证容器的个数,比如我们设定起三个nginx容器,多了就会杀掉,少了就会起[root@k8s-master ~]# systemctl enable kube-controller-manager.service[root@k8s-master ~]# systemctl start kube-controller-manager.service#启动kube-scheduler#调度器,选择启动容器的node节点,通俗点就是容器在哪一个节点服务器上面创建[root@k8s-master ~]# systemctl enable kube-scheduler.service[root@k8s-master ~]# systemctl start kube-scheduler.service
到此主master 129 k8s安装好了。
推荐教程:《php》
以上就是k8s 安装部署步骤的详细内容。