etcd集群配置

master节点配置

1.安装kubernetes etcd
 [root@k8s ~]# yum -y install kubernetes-master etcd

2.配置 etcd 选项

 [root@k8s ~]# cat /etc/etcd/etcd.conf
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://172.19.15.92:2380"
ETCD_LISTEN_CLIENT_URLS="http://172.19.15.92:2379,http://127.0.0.1:2379"
ETCD_MAX_SNAPSHOTS=""
ETCD_NAME="etcd1"
ETCD_HEARTBEAT_INTERVAL=6000
ETCD_ELECTION_TIMEOUT=30000 #[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.19.15.92:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.19.15.92:2379"
ETCD_INITIAL_CLUSTER="etcd1=http://172.19.15.92:2380,etcd2=http://172.19.15.93:2380,etcd3=http://172.19.15.94:2380"

nodes节点配置

1.安装部署kubernetes-node /etcd /flannel /docker
 [root@k8s-node1 ~]# yum -y install kubernetes-node etcd flannel docker

2.分别配置etcd,node1 与 node2 的配置方法相同,以 node1 配置文件为例说明

 [root@k8s-node1 ~]# cat /etc/etcd/etcd.conf
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://172.19.15.93:2380"
ETCD_LISTEN_CLIENT_URLS="http://172.19.15.93:2379,http://127.0.0.1:2379"
ETCD_NAME="etcd2"
ETCD_HEARTBEAT_INTERVAL=6000
ETCD_ELECTION_TIMEOUT=30000 #[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.19.15.93:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.19.15.93:2379"
ETCD_INITIAL_CLUSTER="etcd1=http://172.19.15.92:2380,etcd2=http://172.19.15.93:2380,etcd3=http://172.19.15.94:2380"

启动etcd cluster

分别在3台服务器启动etcd
 [root@k8s ~]# systemctl start etcd.service
[root@k8s ~]# systemctl status etcd.service -l
● etcd.service - Etcd Server
Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled)
Active: active (running) since 二 2018-07-03 18:13:06 CST; 16h ago
Main PID: 2085 (etcd)
Tasks: 31
Memory: 328.4M
CGroup: /system.slice/etcd.service
└─2085 /usr/bin/etcd --name=etcd1 --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://172.19.15.92:2379,http://127.0.0.1:2379

查看etcd集群状态

 [root@k8s ~]# etcdctl cluster-health
member 8c24796af2c20350 is healthy: got healthy result from http://172.19.15.94:2379
member e66597512233d97d is healthy: got healthy result from http://172.19.15.93:2379
member edfc36869b54e803 is healthy: got healthy result from http://172.19.15.92:2379
cluster is healthy

Kubernetes集群配置

master节点配置

1.apiserver配置文件修改,注意KUBE_ADMISSION_CONTROL选项的参数配置

 [root@k8s ~]# cat /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet-port=10250"
KUBE_ETCD_SERVERS="--etcd-servers=http://172.19.15.92:2379,http://172.19.15.93:2379,http://172.19.15.94:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
KUBE_API_ARGS=""

2.启动服务

 [root@k8s ~]# systemctl start kube-apiserver
[root@k8s ~]# systemctl start kube-controller-manager
[root@k8s ~]# systemctl start kube-scheduler
[root@k8s ~]# systemctl enable kube-apiserver
[root@k8s ~]# systemctl enable kube-controller-manager
[root@k8s ~]# systemctl enable kube-scheduler

nodes节点配置

1.配置config配置,node1&node2配置相同,以node1为例说明
 [root@k8s-node1 ~]# cat /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://172.19.15.92:8080"

2.配置kubelet

 [root@k8s-node1 ~]# cat /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=127.0.0.1"
KUBELET_HOSTNAME="--hostname-override=172.19.15.93"
KUBELET_API_SERVER="--api-servers=http://172.19.15.92:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

3.docker  service配置文件

 [root@k8s-node1 ~]# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target firewalld.service [Service]
Type=notify
Environment="http_proxy=http://192.168.59.241:8888/" "https_proxy=https://192.168.59.241:8888/"
ExecStart=/usr/bin/dockerd --registry-mirror=http://f2d6cb40.m.daocloud.io --bip=192.100.90.1/24
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process [Install]
WantedBy=multi-user.target

网络配置

这里使用flannel进行网络配置,已经在2个节点上安装,下面进行配置。

在节点上进行配置flannel

 [root@k8s-node1 ~]# cat /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://172.19.15.92:2379,http://172.19.15.93:2379,http://172.19.15.94:2379"
FLANNEL_ETCD_PREFIX="/k8s/network"
FLANNEL_OPTIONS="--logtostderr=true --log_dir=/var/log/k8s/flannel/ --etcd-prefix=/k8s/network --etcd-endpoints=http://172.19.15.92:2379,http://172.19.15.93:2379,http://172.19.15.94:2379 --iface=ens160"

master 节点需要配置 etcd 网络:

 etcdctl set /k8s/network/config '{"Network":"192.100.0.1/16"}'

2.启动服务

 [root@k8s-node1 ~]# systemctl start kubelet
[root@k8s-node1 ~]# systemctl start docker
[root@k8s-node1 ~]# systemctl start flanneld
[root@k8s-node1 ~]# systemctl enable kubelet
[root@k8s-node1 ~]# systemctl enable docker
[root@k8s-node1 ~]# systemctl enable flanneld

查看集群状态

 [root@k8s ~]# kubectl get nodes
NAME STATUS AGE
172.19.15.92 Ready 16h
172.19.15.93 Ready 1d
172.19.15.94 Ready 1d
[root@k8s ~]# etcdctl member list
8c24796af2c20350: name=etcd3 peerURLs=http://172.19.15.94:2380 clientURLs=http://172.19.15.94:2379 isLeader=false
e66597512233d97d: name=etcd2 peerURLs=http://172.19.15.93:2380 clientURLs=http://172.19.15.93:2379 isLeader=false
edfc36869b54e803: name=etcd1 peerURLs=http://172.19.15.92:2380 clientURLs=http://172.19.15.92:2379 isLeader=true
[root@k8s ~]# etcdctl cluster-health
member 8c24796af2c20350 is healthy: got healthy result from http://172.19.15.94:2379
member e66597512233d97d is healthy: got healthy result from http://172.19.15.93:2379
member edfc36869b54e803 is healthy: got healthy result from http://172.19.15.92:2379
cluster is healthy

更改 docker 网段为 flannel 分配的网段

 # export FLANNEL_SUBNET=10.254.26.1/24
# cat << EOF > /etc/docker/daemon.json
{
"bip" : "$FLANNEL_SUBNET"
}
EOF
# systemctl daemon-reload
# systemctl restart docker
 

Kubernetes 集群安装部署的更多相关文章

  1. Kubernetes集群的部署方式及详细步骤

    一.部署环境架构以及方式 第一种部署方式 1.针对于master节点 将API Server.etcd.controller-manager.scheduler各组件进行yum install.编译安 ...

  2. 在 Kubernetes 集群快速部署 KubeSphere 容器平台

    KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...

  3. K8S集群安装部署

    K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y inst ...

  4. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

  5. flink部署操作-flink standalone集群安装部署

    flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...

  6. HBase 1.2.6 完全分布式集群安装部署详细过程

    Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存 ...

  7. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  8. 2 Hadoop集群安装部署准备

    2 Hadoop集群安装部署准备 集群安装前需要考虑的几点硬件选型--CPU.内存.磁盘.网卡等--什么配置?需要多少? 网络规划--1 GB? 10 GB?--网络拓扑? 操作系统选型及基础环境-- ...

  9. 【分布式】Zookeeper伪集群安装部署

    zookeeper:伪集群安装部署 只有一台linux主机,但却想要模拟搭建一套zookeeper集群的环境.可以使用伪集群模式来搭建.伪集群模式本质上就是在一个linux操作系统里面启动多个zook ...

随机推荐

  1. leetcode861

    public class Solution { public int MatrixScore(int[][] A) { ); ].GetLength(); //判断最高位是否为1 ; i < r ...

  2. leetcode69

    public class Solution { public int MySqrt(int x) { long r = x; while (r * r > x) r = (r + x / r) ...

  3. 利用CSS3 filter:drop-shadow实现纯CSS改变图片颜色

    体验更优排版请移步原文:http://blog.kwin.wang/programming/css3-filter-drop-shadow-change-color.html 之前做项目过程中有时候遇 ...

  4. delphi 实体类 JSON 数组

    delphi 实体类 与JSON转换,序列化 TJson REST.JSON.pas   TJson.JsonToObjectTJson.ObjectToJsonString JsonEncode O ...

  5. Linux Tomcat 7.0 管理员登录时"401 Unauthorized" 问题解决方法

    http://blog.csdn.net/u010359532/article/details/36055291 tomcat 7.0没有默认值,需要在conf的tomcat-users.xml中设置 ...

  6. tomcat 域名直接访问默认工程,而不添加项目路径

    <Engine name="Catalina" defaultHost="xx.xx.xx.xx"> <!--For clustering, ...

  7. 怎么查看在centos中创建的用户组

    用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看系统中有哪些用户:cut -d : -f 1 /etc/passwd 查看可以登录系统的用户:cat /etc/pass ...

  8. XGBoost参数调优

    XGBoost参数调优 http://blog.csdn.net/hhy518518/article/details/54988024 摘要: 转载:http://blog.csdn.NET/han_ ...

  9. awk编程基础

    一.awk介绍 awk(名字来源于三个创始人姓氏首字母)是linux系统下文本编辑工具,是一门编程语言,有自己的基本语法和流程控制.函数.awk简单高效.   二.awk的运行方法 例子:使用冒号:分 ...

  10. Windows本地Linux虚拟机ping不通的解决办法

    解决办法:启动虚拟机双网卡支持: 网卡1:Host-Only网络 网卡2:NAT网络 设置好以后,可以在Linux主机中ifconfig查看本地Host-Only的网络地址,与电脑中的地址应该是同一网 ...