k8s1.4.3 Installation Practice Record (2)-k8s installation

Source: Internet
Author: User
Tags deprecated etcd k8s

The previous article has installed ETCD, Docker and flannel (k8s1.4.3 installation Practice record (1)), and now you can start installing k8s

1, k8s

Current kubernetes还是1.2.0,因此我们只能是使用下载的安装包,进行 installation of kubernetes on CentOS Yum

[Email protected] system]#YumList |grepKubernetescockpit-kubernetes.x86_640.114-2. El7.centos Extras kubernetes.x86_641.2.0-0.13. GITEC7364B.EL7 Extras kubernetes-client.x86_641.2.0-0.13. GITEC7364B.EL7 Extras kubernetes-cni.x86_640.3.0.1-0. 07A8A2 Kubelet kubernetes-master.x86_641.2.0-0.13. GITEC7364B.EL7 Extras kubernetes-node.x86_641.2.0-0.13. GITEC7364B.EL7 Extras kubernetes-unit-test.x86_641.2.0-0.13. GITEC7364B.EL7 Extras
1.1 k8s Download

Download the k8s installation package using wget or download software: https://github.com/kubernetes/kubernetes/releases/download/v1.4.3/ kubernetes.tar.gz, Download complete, we will get the current 1.4.3 version of the installation file.

  

1.2 Unzip and install

Unzip the installation package and store the execution file in the appropriate place

tar -zxvf kubernetes. Tar . GZCD kubernetes//usr/local/kubeCP -R */usr/local/kube

Set the environment variable file/etc/profile, add the Kube execution file to the environment variable

Export kube_path=/usr/local/kubeexport PATH= $PATH: $KUBE _path

Execute the environment variable so that it takes effect:

Source/etc/profile

1.3 Starting the Master node

The current primary node is 192.168.37.130, you need to execute kube-apiserver on the master node, Kube-controller-manager,kube-scheduler three processes.

1.3.1 Open Port

If the firewall is not turned off and you are using FIREWALLD, you need to open the relevant port

Firewall-cmd--zone=public--add-port=8080/tcp--permanentfirewall-cmd--zone=public--add-port= 10250/tcp--permanentfirewall-cmd--zone=public--add-port=6443/tcp--  Permanentfirewall-cmd--zone=public--add-port=15441/tcp--permanentfirewall-cmd--  Reloadfirewall-cmd--list-all

1.3.2 Start Kube-apiserver
Kube-apiserver   --insecure-bind-address=192.168.  37.130    --insecure-port=8080   --service-cluster-ip-range='192.168.37.130/24  '   --log_dir=/usr/local/kubernete_test/logs/kube   --v=0   --logtostderr= false   --etcd_servers=http://192.168.37.130:2379,http://192.168.37.131: 2379   

1.3.3 Start Kube-controller-manager
Kube-controller-manager   --v=0  --logtostderr=true  --log_dir=/data/kubernets/logs/ kube-controller-manager/  --master=http://
1.3.4 Start Kube-scheduler
Kube-scheduler   --master='192.168.37.130:8080'  --v=0   -- Log_dir=/data/kubernets/logs/kube-scheduler  
1.3.5 to see if startup is complete
[Email protected] ~]# kubectl get Componentstatusesname                 STATUS    MESSAGE              errorscheduler            Healthy   OK                   Controller-manager   Healthy   OK                   Etcd-0               Healthy   {"Health""true"  "}   etcd-1               Healthy   {"Health"  "true"

Can see two ETCD start-up complete

1.3.6 Setting up service

Create service files for each process in the/usr/lib/systemd/system folder

1, Kube-apiserver.service
[unit]description=kube-apiserverdocumentation=http://kubernetes.io/docs/ [service]environmentfile=-/etc/sysconfig/kubernets/kube-apiserverexecstart=/usr/local/kube/ kube-apiserver ${insecure_bind_address}  ${insecure_port}  ${service_cluster_ip_range}  ${LOG_DIR}  ${version}  ${logtostderr}  ${etcd_servers}  ${allow_privileged}   killmode=  Processrestart=on-failurerestartsec=42s[install]wantedby=multi-user.target

The corresponding configuration file/etc/sysconfig/kubernets/kube-apiserver is as follows:

insecure_bind_address="--insecure-bind-address=192.168.37.130"Insecure_port="--insecure-port=8080"Service_cluster_ip_range="--service-cluster-ip-range=192.168.37.130/24"Log_dir="--log_dir=/usr/local/kubernete_test/logs/kube"VERSION="--v=0"Logtostderr="--logtostderr=false"etcd_servers="--etcd_servers=http://192.168.37.130:2379,http://192.168.37.131:2379"allow_privileged="--allow_privileged=false"

Note: The parameter names in the configuration file cannot use the "-"

2.  Kube-controller-manager Configure Kube-controller-manager.service
[Unit] description=kube-controller-managerdocumentation=http://kubernetes.io/docs/[service]environmentfile=-/etc/ Sysconfig/kubernets/kube-controller-managerexecstart=/usr/local/kube/kube-controller-manager ${VERSION} ${ Logtostderr} ${log_dir} ${master}     killmode=processrestart=on-failurerestartsec=42s[install]wantedby= Multi-user.target

Set/etc/sysconfig/kubernets/kube-controller-manager

version="--v=0"logtostderr="--logtostderr=true" Log_dir="--log_dir=/data/kubernets/logs/kube-controller-manager/"  MASTER="--master=http://192.168.37.130:8080"
3. Set up Kube-scheduler service

Kube-scheduler.service

[unit]description=kube-schedulerdocumentation=http://kubernetes.io/docs/ [service]environmentfile=-/etc/sysconfig/kubernets/kube-schedulerexecstart=/usr/local/kube/ kube-Scheduler ${version} ${logtostderr} ${log_dir} ${master}     killmode=Processrestart=on- failurerestartsec=42s[install]wantedby=multi-user.target

The configuration file is as follows

version="--v=0"logtostderr="--logtostderr=true" Log_dir="--log_dir=/data/kubernets/logs/kube-scheduler"MASTER ="--master=http://192.168.37.130:8080
4. Restart each service
Systemctl daemon-reloadsystemctl  start kube-apiserversystemctl  start Kube- controller-managersystemctl  start kube-scheduler

1.4 Start Minion

Minion need to start kube-proxy,kubelet two processes

1.4.1 Kube-proxy Start
#在两台机器都执行kube-proxy  --logtostderr=true --v=0 --master=http://  192.168.37.130:8080  

1.4.1 Kubelet Start
Kubelet  --logtostderr=true --v=0 --allow-privileged=false  --log_dir=/data/ Kubernets/logs/kubelet  --address=0.0.  0.0  --port=10250  --hostname_override=192.168.  37.130  --api_servers=http://192.168.37.130:8080  

1.4.5 Configuring the Service

1, Kube-proxy.service

[unit]description=kube-proxydocumentation=http://kubernetes.io/docs/[ Service]environmentfile=-/etc/sysconfig/kubernets/kube-proxyexecstart=/usr/local/kube/kube-  Proxy ${version} ${logtostderr} ${log_dir} ${master}     killmode=processrestart=on-  Failurerestartsec=42s[install]wantedby=multi-user.target
/etc/sysconfig/kubernets/kube-Proxy

version="--v=0"logtostderr="--logtostderr=true" Log_dir="--log_dir=/data/kubernets/logs/kube-controller-manager/"  MASTER="--master=http://192.168.37.130:8080"

2, Kubelet.service

[Unit]description=kubeletdocumentation=http://kubernetes.io/docs/[ Service]environmentfile=-/etc/sysconfig/kubernets/kubeletexecstart=/usr/local/kube/kubelet ${ Logtostderr}  ${version}  ${allow_privileged}  ${log_dir}  ${address}  ${port}  ${ Hostname_override}  ${api_servers}     killmode=processrestart=on-failurerestartsec =42s[install]wantedby=multi-user.target
/etc/sysconfig/kubernets/kubelet configuration file
Logtostderr="--logtostderr=true"VERSION="--v=0"allow_privileged="--allow-privileged=false"Log_dir="--log_dir=/data/kubernets/logs/kubelet"ADDRESS="--address=0.0.0.0"PORT="--port=10250"Hostname_override="--hostname_override=192.168.37.131"api_servers="--api_servers=http://192.168.37.130:8080"

After the above steps, k8s is basically installed, followed by the dashboard to install.

Problem: 1, using the network configuration, execution will produce some warning message:
[Email protected] server]# Kube-apiserver--address=192.168.37.130--insecure-port=8080--service-cluster-ip-range='192.168.37.130/24'--log_dir=/usr/local/kubernete_test/logs/kube--kubelet_port=10250--v=0--logtostderr=false--etcd_servers=http://192.168.37.130:2379,http://192.168.37.131: 2379--allow_privileged=falseFlag--address have been deprecated, see--insecure-bind-address instead. Flag--kubelet-port has been deprecated, kubelet-Port is deprecated and would be removed. [RESTful] ./ One/ on  the: to: theLog.go: -: [Restful/swagger] listing is available at https://192.168.37.130:6443/swaggerapi/[RESTful] ./ One/ on  the: to: theLog.go: -: [Restful/swagger] https://192.168.37.130:6443/swaggerui/is mapped to folder/swagger-ui/

2, execute kubectl get componentstatuses error
[Email protected] ~]# kubectl Get componentstatusesthe connection to the server localhost: 8080 is refused-did you specify the right host or port?

If the problem is on the master machine, it is because the/etc/hosts file is not configured and the IP localhost entry is added to the file.

If it is on the slave node, when executing the KUBECTL get componentstatuses statement, add kubectl-s $masterIP: $port get componentstatuses, where $masterip is the primary node ip,$ Port is the service IP of the primary node, that is, 8080 ports in the installation documentation, such as: Kubectl-s http://192.168.37.130:8080 get componentstatuses

k8s1.4.3 Installation Practice Record (2)-k8s installation

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.