码迷,mamicode.com
首页 > Web开发 > 详细

centos7 kubernetes安装手册

时间:2016-08-12 22:10:03      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:centos7   kubernets安装   k8s安装   apiserver   

安装之前,将三台centos7服务器禁止防火墙,同时需要启动的镜像2台node机器都要保持时间一致,否则pod不能启动

1 有三台centos7服务器:10.1.1.170(master),10.1.1.169 node1,10.1.1.171 node2

2 在三台机器上安装ntp服务,以保证所有时间可以同步

#yum -y install ntp

#systemctl start ntpd

#systemctl enable ntpd

3 在10.1.1.170上安装kubernetes master

Yum install etcd

Yum install kubernetes

Cd /etc/etcd

Vi etcd.conf,需要注意项:

ETCD_NAME=default

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

     *   cd /etc/kubernetes/

     * vi apiserver

        

[root@centos7-docker-test1 kubernetes]# more 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="--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"

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"

# Add your own!

KUBE_API_ARGS=""

   

      * cd /etc/kubernetes

      * vi controller-manager     定义节点

[root@centos7-docker-test1 kubernetes]# more 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=""

KUBELET_ADDRESSES="--machine=10.1.1.169,10.1.1.171"

       *依次启动服务,将服务放入启动目录(etcd\kube-apiserver\kube-controller-manager\kube-scheduler):

          systemctl restart 服务名

          systemctl enable 服务名

          systemctl status 服务名

       * 定义flannel网络配置到etcd,配置被推送到各个minions的flannel网络上

etcdctl mk /coreos.com/network/config ‘{"Network":"172.17.0.0/16"}‘

4 在节点(10.1.1.169,10.1.1.171)上进行minions部署

   #yum install flannel

   #yum install kubernetes

   

   *修改flannel配置文件,以使用etcd服务

    #vi /etc/sysconfig/flanneld

[root@centos7-docker-test3 ~]# more /etc/sysconfig/flanneld 

# Flanneld configuration options  

# etcd url location.  Point this to the server where etcd runs

FLANNEL_ETCD="http://10.1.1.170:2379"

# etcd config key.  This is the configuration key that flannel queries

# For address range assignment

FLANNEL_ETCD_KEY="/atomic.io/network"

# Any additional options that you want to pass

#FLANNEL_OPTIONS=""

    *配置kubernetes配置文件

    #vi /etc/ kubernetes/config

[root@centos7-docker-test3 kubernetes]# more /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://10.1.1.170:8080"

     *配置kubelet服务

    #vi /etc/kubernetes/kubelet

[root@centos7-docker-test3 kubernetes]# more /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=10.1.1.171"

# 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=10.1.1.171"

# location of the api-server

KUBELET_API_SERVER="--api-servers=http://10.1.1.170:8080"

# pod infrastructure container

KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"

# Add your own!

KUBELET_ARGS=""

       *启动服务(kube-proxy\kubylet\docker\flanneld),很奇怪启动flanneld服务时报错,但是过一段时间k8s一切OK

        #systemctl restart 服务

       #system enable 服务

        #systemctl status 服务

5 将三台机器进行ssh免密码操作:

       #ssh-keygen

      #ssh-copy-id root@10.1.1.171

      #ssh-copy-id root@10.1.1.169

6 测试kubernetes服务是否正常

[root@centos7-docker-test1 kubernetes]# kubectl get nodes

NAME         LABELS                              STATUS    AGE

10.1.1.169   kubernetes.io/hostname=10.1.1.169   Ready     20h

10.1.1.171   kubernetes.io/hostname=10.1.1.171   Ready     21h

[root@centos7-docker-test1 kubernetes]# kubectl get componentstatuses

NAME                 STATUS    MESSAGE              ERROR

controller-manager   Healthy   ok                   nil

scheduler            Healthy   ok                   nil

etcd-0               Healthy   {"health": "true"}   nil

kubectl run tomcat --image=tomcat:8.0 --port=8080 --replicas=5

[root@centos7-docker-test1 kubernetes]# kubectl get rc,pods

CONTROLLER      CONTAINER(S)   IMAGE(S)           SELECTOR      REPLICAS   AGE

centos7         centos7        centos:7           run=centos7   3          59m

mysql           mysql          mysql:5.5          run=mysql     7          1h

tomcat          tomcat         tomcat:8.0         run=tomcat    5          19h

NAME            READY          STATUS             RESTARTS      AGE

centos7-asa0g   1/1            Running            15            59m

centos7-eow3g   0/1            CrashLoopBackOff   16            59m

centos7-qmslb   0/1            CrashLoopBackOff   12            59m

mysql-0a5tv     0/1            CrashLoopBackOff   16            1h

mysql-131lh     0/1            CrashLoopBackOff   16            1h

mysql-7cj2s     0/1            CrashLoopBackOff   16            1h

mysql-89h04     0/1            CrashLoopBackOff   16            1h

mysql-htu4u     0/1            CrashLoopBackOff   16            1h

mysql-khndm     0/1            CrashLoopBackOff   16            1h

mysql-uke1c     0/1            CrashLoopBackOff   16            1h

tomcat-1wwbn    1/1            Running            1             19h

tomcat-f83z1    1/1            Running            1             19h

tomcat-fu2qf    1/1            Running            1             19h

tomcat-l39ih    1/1            Running            1             19h

tomcat-o647v    1/1            Running            1             19h

在两台节点上可以发现,一个节点上跑了2个tomcat,一个节点上跑了3个tomcat,一旦一个镜像被删除,则马上会在启动一个新的节点


本文出自 “老段的修炼人生” 博客,请务必保留此出处http://031028.blog.51cto.com/9866455/1837198

centos7 kubernetes安装手册

标签:centos7   kubernets安装   k8s安装   apiserver   

原文地址:http://031028.blog.51cto.com/9866455/1837198

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!