设为首页 收藏本站
查看: 868|回复: 0

[经验分享] Kubernetes的安装配置

[复制链接]

尚未签到

发表于 2017-6-4 10:42:54 | 显示全部楼层 |阅读模式
  1.环境准备:
  三台服务器:
  192.168.42.128  master+node
  192.168.42.129  node1
  192.168.42.130  node2
  2.准备yum源



vi virt7-docker-common-release.repo
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
  3.安装组件分类



master包含     kube-apiserver
kube-scheduler
kube-controller-manager
etcd四个组件
node包含       kube-proxy
kubelet
flannel 3个组件                  


1. kube-apiserver:位于master节点,接受用户请求。
2. kube-scheduler:位于master节点,负责资源调度,即pod建在哪个node节点。
3. kube-controller-manager:位于master节点,包含ReplicationManager,Endpointscontroller,Namespacecontroller,and Nodecontroller等。
4. etcd:分布式键值存储系统,共享整个集群的资源对象信息。
5. kubelet:位于node节点,负责维护在特定主机上运行的pod。
6. kube-proxy:位于node节点,它起的作用是一个服务代理的角色  
7. flannel:网络配置   
  4.关闭并且禁用防火墙



systemctl stop firewalld
systemctl disable firewalld
  5.关闭并且禁用Enforcing



setenforce 0
getenforce
vi /etc/selinux/config
修改:SELINUX=disabled
  6.设置NTP同步



*/5 * * * * /usr/sbin/ntpdate cn.ntp.org.cn
  7.安装kubernetes master节点



yum install etcd
Dependencies Resolved
=================================================================================================
Package       Arch            Version                Repository                            Size
=================================================================================================
Installing:
etcd          x86_64          2.0.9-1.el7            virt7-docker-common-release          2.9 M
Transaction Summary
=================================================================================================
Install  1 Package



yum install kubernetes
Dependencies Resolved
=================================================================================================
Package              Arch      Version                     Repository                      Size
=================================================================================================
Installing:
kubernetes           x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release     26 k
Installing for dependencies:
docker               x86_64    1.6.2-4.gitc3ca5bb.el7      virt7-docker-common-release    5.0 M
kubernetes-client    x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release    3.0 M
kubernetes-master    x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release     14 M
kubernetes-node      x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release    9.8 M
socat                x86_64    1.7.2.2-5.el7               base                           255 k
Transaction Summary
=================================================================================================
Install  1 Package (+5 Dependent packages)
  vi /etc/etcd/etcd.conf



# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#ETCD_SNAPSHOT_COUNTER="10000"
#ETCD_HEARTBEAT_INTERVAL="100"
#ETCD_ELECTION_TIMEOUT="1000"
#ETCD_LISTEN_PEER_URLS="http://localhost:2380,http://localhost:7001"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#ETCD_MAX_SNAPSHOTS="5"
#ETCD_MAX_WALS="5"
#ETCD_CORS=""
#
#[cluster]
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380,http://localhost:7001"
# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
#ETCD_INITIAL_CLUSTER="default=http://localhost:2380,default=http://localhost:7001"
#ETCD_INITIAL_CLUSTER_STATE="new"
#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
#ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://localhost:4001"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""
#
#[proxy]
#ETCD_PROXY="off"
#
#[security]
#ETCD_CA_FILE=""
#ETCD_CERT_FILE=""
#ETCD_KEY_FILE=""
#ETCD_PEER_CA_FILE=""
#ETCD_PEER_CERT_FILE=""
#ETCD_PEER_KEY_FILE=""
  vi /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=127.0.0.1"
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://127.0.0.1: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=""
  vi /etc/kubernetes/controller-manager



###
# The following values are used to configure the kubernetes controller-manager
# defaults from config and apiserver should be adequate
# Add your own!
#KUBE_CONTROLLER_MANAGER_ARGS=""
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
  vi /etc/kubernetes/config



###
# kubernetes system config
#
# The following values are used to configure various aspects of all
# kubernetes services, including
#
#   kube-apiserver.service
#   kube-controller-manager.service
#   kube-scheduler.service
#   kubelet.service
#   kube-proxy.service
# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR="--logtostderr=true"
# journal message level, 0 is debug
KUBE_LOG_LEVEL="--v=0"
# Should this cluster be allowed to run privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=false"
# How the controller-manager, scheduler, and proxy find the apiserver
KUBE_MASTER="--master=http://192.168.42.128:8080"
  设置服务启动



systemctl status etcd kube-apiserver kube-scheduler kube-controller-manager
systemctl enable etcd kube-apiserver kube-scheduler kube-controller-manager
  定义kubernetes的网络



etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'
  8.安装kubernetes node节点



yum -y install kubernetes-node
Dependencies Resolved
=================================================================================================
Package              Arch      Version                     Repository                      Size
=================================================================================================
Installing:
kubernetes-node      x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release    9.8 M
Installing for dependencies:
docker               x86_64    1.6.2-4.gitc3ca5bb.el7      virt7-docker-common-release    5.0 M
kubernetes-client    x86_64    1.1.0-0.4.git2bfa9a1.el7    virt7-docker-common-release    3.0 M
socat                x86_64    1.7.2.2-5.el7               base                           255 k
Transaction Summary
=================================================================================================
Install  1 Package (+3 Dependent packages)


yum -y install flannel
Dependencies Resolved
=================================================================================================
Package         Arch           Version                Repository                           Size
=================================================================================================
Installing:
flannel         x86_64         0.2.0-7.el7            virt7-docker-common-release         1.3 M
Transaction Summary
=================================================================================================
Install  1 Package
  修改配置文件/etc/kubernetes
  vi /etc/kubernetes/config



[iyunv@node1 kubernetes]# cat /etc/kubernetes/config
###
# kubernetes system config
#
# The following values are used to configure various aspects of all
# kubernetes services, including
#
#   kube-apiserver.service
#   kube-controller-manager.service
#   kube-scheduler.service
#   kubelet.service
#   kube-proxy.service
# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR="--logtostderr=true"
# journal message level, 0 is debug
KUBE_LOG_LEVEL="--v=0"
# Should this cluster be allowed to run privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=false"
# How the controller-manager, scheduler, and proxy find the apiserver
#KUBE_MASTER="--master=http://127.0.0.1:8080"
KUBE_MASTER="--master=http://192.168.42.128:8080"
  vi /etc/kubernetes/kubelet



[iyunv@node1 kubernetes]# cat /etc/kubernetes/kubelet
###
# kubernetes kubelet (minion) config
# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
KUBELET_ADDRESS="--address=127.0.0.1"
# The port for the info server to serve on
# KUBELET_PORT="--port=10250"
# You may leave this blank to use the actual hostname
#KUBELET_HOSTNAME="--hostname-override=127.0.0.1"
KUBELET_HOSTNAME="--hostname-override=192.168.42.129"
# location of the api-server
#KUBELET_API_SERVER="--api-servers=http://127.0.0.1:8080"
KUBELET_API_SERVER="--api-servers=http://192.168.42.128:8080"
# Add your own!
#KUBELET_ARGS=""
KUBELET_ARGS="--pod-infra-container-image=kubernetes/pause"
  vi /etc/sysconfig/flanneld



# Flanneld configuration options  
# etcd url location.  Point this to the server where etcd runs
#FLANNEL_ETCD="http://127.0.0.1:4001"
FLANNEL_ETCD="http://192.168.42.128:2379"
# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_KEY="/coreos.com/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
FLANNEL_OPTIONS="-iface=eno16777728"
  启动服务



systemctl status kube-proxy flanneld kubelet docker
systemctl enable kube-proxy flanneld kubelet docker

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-383429-1-1.html 上篇帖子: Centos7部署Kubernetes集群 下篇帖子: kubeadm安装Kubernetes-1.6.1集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表