centos7 安装k8s
1.三台机子vim /etc/hosts2.禁用selinuxsetenforce 0彻底禁用selinux,修改配置文件。将其中的SELINUX=enforcing修改为SELINUX=disabled3.禁用firewalldsystemctl stop firewalldsystemctl disable firewalld4.更新yum库yum update -y5.同步三个节点的系统时间
1.三台机子 vim /etc/hosts
2.禁用selinux
setenforce 0
彻底禁用selinux,修改配置文件。将其中的 SELINUX=enforcing
修改为 SELINUX=disabled
3.
禁用firewalld
systemctl stop firewalld
systemctl disable firewalld
4.更新yum库
yum update -y
5. 同步三个节点的系统时间
ntpdate ntp1.aliyun.com
6.etcd集群配置 etcd是一个高可用的分布式键值数据库,Kubernetes利用etcd来存储某些数据。为了提高可用性,需要在三个节点服务器上部署etcd,形成集群。
在master节点上执行命令,
yum -y install kubernetes-master kubernetes-client etcd
7. 修改etcd的配置文件 /etc/etcd/etcd.conf
8.在node1节点执行命令
yum -y install kubernetes-node etcd flannel docker
修改/etc/etcd/etcd.conf 配置文件
在node2上操作与node1保持一致
需要注意的是配置文件中的配置项需要修改成node2的
9.三个节点都执行命令
systemctl enable etcd
同时启动etcd服务
systemctl start etcd
查看etcd集群健康状况
etcdctl cluster-health
10.Master节点的配置
master节点主要运行着apiserver、controller-manager以及scheduler等主要的服务进程。这些服务的配置文件都位于 /etc/kubernetes
目录中。
本节主要说明Kubernetes的master节点配置。
vim /etc/kubernetes/apiserver
###
# kubernetes system config
#
# The following values are used to configure the kube-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 on
KUBELET_PORT="--kubelet-port=10250"
# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.104.156:2379,http://192.168.104.159:2379,http://192.168.29.205:2379"
# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
# Add your own!
KUBE_API_ARGS=""
配置完成后,使用以下命令启动master节点上面的下面三个服务。
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
加入开机启动项
systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler
kubernetes的api-server提供的各个接口都是RESTful的,我们可以通过浏览器或者其它方式访问master节点的8080端口。api-server会以JSON的形式返回各个API的地址
11.Node节点的配置
node节点上面主要运行 kube-proxy和kubelet等进程。我们需要修改的配置文件主要有 /etc/kubernetes/config
、/etc/kubernetes/proxy
以及 /etc/kubernetes/kubelet
,这3个文件分别为kubernetes全局配置文件、kube-proxy 配置文件以及kubelet配置文件。
修改 /etc/kubernetes/config
主要修改 KUBE_MASTER
指定apiserver的地址
node节点修改 /etc/kubernetes/kubelet
修改 /etc/kubernetes/proxy
启用配置
systemctl enable kube-proxy
systemctl enable kubelet
启动kube-proxy 和 kubelet 服务
systemctl restart kube-proxy
systemctl restart kubelet
验证测试
在master节点使用以下命令测试
kubectl get nodes
11.docker 阿里云加速配置
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://0o7m8o4u.mirror.aliyuncs.com"]
}
12.Flannel 配置
Flannel是Kubernetes中常用的网络配置工具,用于配置第三层(网络层)网络结构。Flannel需要在集群中的每一台机器上运行一个名为flanneld的代理程序,负责从预配置地址空间中为每台主机分配一个网段。Flannel直接使用Kubernetes API 或 etcd 存储网络配置,分配的子网及任何辅助数据。
分配docker网段
在配置Flannel之前,我们需要预先给Docker网络分配网段。在master节点上执行以下命令:
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16","SubnetMin":"172.17.1.0","SubnetMax":"172.17.254.0"}'
在etcd中添加一个名称为 /automic.io/network/config
的主键,通过该主键设置提供给Docker容器使用的网段以及子网。
master
yum -y install flannel
修改flannel配置文件
所以节点上面修改/etc/sysconfig/flanneld
vim /etc/sysconfig/flanneld
启动flanneld
systemctl enable flanneld
systemctl start flanneld
启动成功后,通过命令 ip address show
查看网络接口,会发现多出一个flannel0的网络接口
另外,flannel还生成了两个配置文件,分别是
-
/run/flannel/subnet.env
-
/run/flannel/docker
完成。。。。。。。。。。。。。。。。。。。。。。。。。。。
更多推荐
所有评论(0)