Home > Article > Operation and Maintenance > k8s installation and deployment steps
k8s installation and deployment steps
Preparation environment: three centos7 servers
192.168.6.129 k8s-master (master)
192.168.6.130 k8s-node-1 (node)
192.168.6.131 k8s-node-2 (node)
kubernetes (k8s) installation methods
Five methods:
kubernetes binary installation (the most tedious configuration, no less than installing openstack)
kubeadm installation (automated installation tool launched by Google, network requirements apply)
minikube installation (only used to experience k8s)
yum installation (the simplest, the version is relatively low====This method is recommended for learning)
go compile and install (the most difficult)
We use yum to install, and learning how to use k8s is the key.
1. Modify the host and host resolution
#Please perform the following operations on the three machines 129-130-131
vim /etc/ hosts:
192.168.6.129 k8s-master 192.168.6.130 k8s-node-1 192.168.6.131 k8s-node-2
Modify the host name:
hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node-1 hostnamectl set-hostname k8s-node-2
2: Install docker version 1.12. The 1.13 that comes with the system has a small bug and needs to be modified, otherwise the subsequent container network communication will be blocked
[root@k8s-master ~]# yum provides docker Loaded plugins: fastestmirror Determining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64 : Automates deployment of : containerized applicat Repo : extras 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 : Automates deployment of : containerized applications Repo : extras [root@k8s-master ~]#
Go to the official website to find version 1.12 docker
http://vault.centos.org/7.4.1708/extras/x86_64/Packages/
Need to install CentOS-Base.repo source in advance
All three machines need to download these three docker packages:
##http: //vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
[root@k8s-master ~]# ls docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm [root@k8s-master ~]# scp * 192.168.6.130:~ root@192.168.6.130's password: docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15MB 30.7MB/s 00:00 docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451KB 29.6MB/s 00:00 docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83KB 6.9MB/s 00:00 [root@k8s-master ~]# scp * 192.168.6.131:~ root@192.168.6.131's password: docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15MB 24.2MB/s 00:00 docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451KB 23.3MB/s 00:00 docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83KB 5.8MB/s 00:00 [root@k8s-master ~]#Uninstall docker that has been installed on the systemSince the author has previously installed the docker-ce version, it needs to be completely uninstalled (it is recommended that you use a new machine to install)
[root@k8s-node-1 ~]# rpm -qa |grep docker docker-ce-19.03.3-3.el7.x86_64 docker-ce-cli-19.03.3-3.el7.x86_64 [root@k8s-node-1 ~]# rpm -e docker-ce-19.03.3-3.el7.x86_64 [root@k8s-node-1 ~]# rpm -e docker-ce-cli-19.03.3-3.el7.x86_642 [root@k8s-node-1 ~]# rm -rf /var/lib/docker/* 清空之前docker产生的所有文件。 [root@k8s-node-1 ~]# rm -rf /etc/docker/*
3. Install docker 1.12 on all three machines (must be installed in the following order, otherwise an error may be reported)
yum localinstall docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y yum localinstall docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y yum localinstall docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
4. Verify whether docker is installed successfully
[root@k8s-master ~]# docker -v Docker version 1.12.6, build 3e8e77d/1.12.6
5. The master node installs etcd (k8s database kv type storage) natively supports clustering
[root@k8s-master ~]# yum install etcd.x86_64 -y [root@k8s-master ~]# vim /etc/etcd/etcd.conf ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.6.129:2379" #启动 [root@k8s-master ~]# systemctl start etcd.service [root@k8s-master ~]# systemctl enable etcd.service #测试 #set 设置一队键值 数据存储 [root@k8s-master ~]# etcdctl set testdir/testkey0 xujin Xujin #get获取 [root@k8s-master ~]# etcdctl get testdir/testkey0 xujin [root@k8s-master ~]# #检测集群状态 [root@k8s-master ~]# etcdctl -C http://192.168.6.129:2379 cluster-health member 8e9e05c52164694d is healthy: got healthy result from http://192.168.6.129:2379 cluster is healthy [root@k8s-master ~]#
6. The master node installs kubernetes
[root@k8s-master ~]# yum install kubernetes-master.x86_64 -y #修改配置文件如下 [root@k8s-master ~]# vim /etc/kubernetes/apiserver # The address on the local server to listen to. 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://192.168.6.129:2379" # default admission control policies KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,Securi tyContextDeny,ResourceQuota" #修改config文件 [root@k8s-master ~]# vim /etc/kubernetes/config KUBE_MASTER="--master=http://192.168.6.129:8080"
7. Start k8s
# 启动kube-apiserver #这个服务用来:接受并响应用户的请求 [root@k8s-master ~]# systemctl enable kube-apiserver.service [root@k8s-master ~]# systemctl start kube-apiserver.service #启动 kube-controller-manager #控制管理器的概念,保证容器存活 #每隔一段时间去扫描容器状态,看有没有死了。 #容器死了,会调度apiserver再起一个新的容器 #保证容器的个数,比如我们设定起三个nginx容器,多了就会杀掉,少了就会起 [root@k8s-master ~]# systemctl enable kube-controller-manager.service [root@k8s-master ~]# systemctl start kube-controller-manager.service #启动kube-scheduler #调度器,选择启动容器的node节点,通俗点就是容器在哪一个节点服务器上面创建 [root@k8s-master ~]# systemctl enable kube-scheduler.service [root@k8s-master ~]# systemctl start kube-scheduler.serviceNow the master 129 k8s is installed. Recommended tutorial: "
PHP"
The above is the detailed content of k8s installation and deployment steps. For more information, please follow other related articles on the PHP Chinese website!