Centos7搭建Kubernetes集群
@Author:By Runsen
Kubernetes
Kubernetes 及其整個生態系統(工具、模塊、插件等)均使用 Go 語言編寫,從而構成一套面向 API、可高速運行的程序集合,這些程序文檔精良、易于參與貢獻或在其上構建應用程序。(百度百科)
那么 Kubernetes有什么用?其實很簡單,Docker是部署我們的項目的容器,可是一個容器部署不夠,如果在多個Linux服務器中使用Docker創建容器,這樣就需要將多個Linux服務器的容器進行管理,Kubernetes就是管理Docker容器的。
搭建Kubernetes集群
那么我們正式搭建Kubernetes集群,什么是集群,就是多個Linux服務器。其實和Hadoop,elasticsearch,CDH集群差不多。
我選用的機器是三臺centos7主機,沒錢買服務器。之前配置三臺服務器sh免密碼登錄和Docker,這里不一一介紹了。
| node01 | 192.168.92.90 |
| node02 | 192.168.92.91 |
| node03 | 192.168.92.92 |
搭建之前,先去中文文檔http://docs.kubernetes.org.cn/和英文文檔https://kubernetes.io/docs參觀下
第一步配源,加載下載速度,Installing kubeadm ,可以yum install ,下圖就是官方文檔的安裝的命令
我就直接用vim創建吧,谷歌好像不好使,用阿里的
[root@node01 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.92.90 node01 192.168.92.91 node02 192.168.92.92 node03 [root@node01 ~]# vim /etc/yum.repos.d/kubernetes.repo ######### [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg [root@node01 ~]# yum install -y kubelet kubeadm kubectl 已加載插件:fastestmirror …………………… 已安裝:ubeadm.x86_64 0:1.18.2-0 kubectl.x86_64 0:1.18.2-0 kubelet.x86_64 0:1.18.2-0 作為依賴被安裝:conntrack-tools.x86_64 0:1.4.4-5.el7_7.2 cri-tools.x86_64 0:1.13.0-0 kubernetes-cni.x86_64 0:0.7.5-0 libnetfilter_cthelper.x86_64 0:1.0.0-10.el7_7.1 libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7_7.1 libnetfilter_queue.x86_64 0:1.0.2-2.el7_2 socat.x86_64 0:1.7.3.2-2.el7 完畢! [root@node01 ~]# systemctl enable docker && systemctl start docker [root@node01 ~]# systemctl enable kubelet && systemctl start kubelet [root@node01 ~]# kubeadm┌──────────────────────────────────────────────────────────┐│ KUBEADM ││ Easily bootstrap a secure Kubernetes cluster ││ ││ Please give us feedback at: ││ https://github.com/kubernetes/kubeadm/issues │└──────────────────────────────────────────────────────────┘接下來就是kubeadm 幫我們部署的 Kubernetes ,我這里是最新的1.18.2,你可以不指定
[root@node01 ~]# kubeadm init --apiserver-advertise-address=192.168.92.90 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16發現了報[ERROR Swap]: running with swap on is not supported. Please disable swap
那就把swap禁止,再次執行上面的命令
[root@node01 ~]# systemctl stop firewalld [root@node01 ~]# swapoff -a [root@node01 ~]# kubeadm init --apiserver-advertise-address=192.168.92.90 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16當你看到kubeadm join 192.168.92.90:6443 --token niim2r.u8sgcz1vybxtfs68 就說明安裝成功了。
在輸出的時候叫我們運行以下命令,應該是創建環境變量的。
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/configKubernetes安裝好后,你可以在/etc/kubernetes/查看生成的目錄
[root@node01 ~]# ls /etc/kubernetes/ admin.conf controller-manager.conf kubelet.conf manifests pki scheduler.confkubectl get nodes命令可以查看當前的nodes節點。
[root@node01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION node01 NotReady master 4m12s v1.18.2配置集群
下面就在node02和node03 重復上面的操作
[root@node02 ~]# kubeadm init --apiserver-advertise-address=192.168.92.91 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 [root@node03 ~]# kubeadm init --apiserver-advertise-address=192.168.92.92 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16[root@node01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION node01 NotReady master 4m12s v1.18.2 node02 NotReady <none> 4m12s v1.18.2 node03 NotReady <none> 4m12s v1.18.2總結
以上是生活随笔為你收集整理的Centos7搭建Kubernetes集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 装机怎么设置固态盘为系统盘 固态盘如何设
- 下一篇: 四十二、Linux网络管理,软件安装,进