手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Kubernetes集群配置笔记

[日期:2018-03-01] 来源:Linux社区  作者:ylw6006 [字体: ]

本文将介绍配置Kubernetes集群,kubernetes集群由master节点和slave节点组成。

Master节点上运行如下服务:
etcd (etcd服务也可以单独运行,不一定要运行在Master节点上)
kube-apiserver
kube-controller-manager
kube-scheduler
Kubelet
kube-proxy

Slave节点上运行如下服务:
Kubelet
kube-proxy

一、环境介绍
操作系统版本:CentOS linux 7.2 64bit
Master节点:192.168.115.5/24 vm1
Slave节点1:192.168.115.6/24 vm2
Kubernets和etcd软件采用yum方式安装
Kubernets版本:1.5.2
Etcd版本:2.2.5

二、Master节点配置

# yum -y install kubernetes etcd

1、通用配置文件

# grep -v '^#'  /etc/kubernetes/config
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.115.5:8080"  //apiserver的地址

2、apiserver配置文件

# grep -v '^#'  /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" //apiserver的监听地址
# KUBE_API_PORT="--port=8080"  //apiserver的监听端口
# KUBELET_PORT="--kubelet-port=10250" //kubelet服务的监控端口
KUBE_ETCD_SERVERS="--etcd-servers=http://0.0.0.0:2379"  //etcd服务的地址
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"  //cluster服务的网段
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"  //这里为了避免做用户认证,取消掉了ServiceAccount参数
KUBE_API_ARGS=""

3、controller-manager配置文件,无需特殊的配置

# cat /etc/kubernetes/controller-manager

4、etcd配置文件

# grep -v '^#' /etc/etcd/etcd.conf
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"  //监听地址和端口
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"  //集群服务监听地址和端口

5、通用配置文件

# grep -v '^#' /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.115.5:8080" //master服务的apiserver地址和端口

6、kubelet服务配置文件

# grep -v '^#' /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=192.168.115.7" //slave的监听地址
KUBELET_HOSTNAME="--hostname-override=192.168.115.7" //slave的主机名
KUBELET_API_SERVER="--api-servers=http://192.168.115.5:8080"  //master服务的apiserver地址和端口
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=gcr.io/google_containers/pause"  //kubenet服务的启动需要依赖的镜像pull地址
KUBELET_ARGS=""

7、kube-proxy的配置文件,一般无需特别的配置

# cat /etc/kubernetes/proxy

三、Slave节点配置

# yum -y install kubernetes

1、通用配置文件

# grep -v '^#' /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.115.5:8080" //master服务的apiserver地址和端口

2、kubelet服务配置文件

# grep -v '^#' /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=192.168.115.7" //slave的监听地址
KUBELET_HOSTNAME="--hostname-override=192.168.115.7" //slave的主机名
KUBELET_API_SERVER="--api-servers=http://192.168.115.5:8080"  //master服务的apiserver地址和端口
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=gcr.io/google_containers/pause"  //kubenet服务的启动需要依赖的镜像pull地址
KUBELET_ARGS=""

3、kube-proxy的配置文件,一般无需特别的配置

# cat /etc/kubernetes/proxy

四、服务的启动
1、master节点

# systemctl start etcd
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler
# systemctl start kubelet
# systemctl start kube-proxy

2、slave节点

# systemctl start kubelet
# systemctl start kube-proxy

五、验证集群是否正常工作

# kubectl get nodes //在master节点运行
# kubectl cluster-info

六、导入pause镜像
此镜像为k8s的根容器镜像,需要科学上网方式下载,因而下载完成后采用本地导入的方式

# docker load < pause.tar

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-03/151136.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款