前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7搭建Kubernetes集群

Centos7搭建Kubernetes集群

作者头像
润森
发布2020-04-30 15:46:52
8770
发布2020-04-30 15:46:52
举报
文章被收录于专栏:毛利学Python毛利学Python

@Author:By Runsen

Kubernetes

Kubernetes 及其整个生态系统(工具、模块、插件等)均使用 Go 语言编写,从而构成一套面向 API、可高速运行的程序集合,这些程序文档精良、易于参与贡献或在其上构建应用程序。(百度百科)

那么 Kubernetes有什么用?其实很简单,Docker是部署我们的项目的容器,可是一个容器部署不够,如果在多个Linux服务器中使用Docker创建容器,这样就需要将多个Linux服务器的容器进行管理,Kubernetes就是管理Docker容器的。

搭建Kubernetes集群

那么我们正式搭建Kubernetes集群,什么是集群,就是多个Linux服务器。其实和Hadoop,elasticsearch,CDH集群差不多。比Hadoop,CDH的配置简单些。

我选用的机器是三台centos7主机,没钱买服务器。之前配置三台服务器sh免密码登录和Docker,这里不一一介绍了。

NodeName

IP地址

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创建吧,谷歌好像不好使,用阿里的

代码语言:javascript
复制
[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,你可以不指定

代码语言:javascript
复制
[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禁止,再次执行上面的命令

代码语言:javascript
复制
[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 就说明安装成功了。

在输出的时候叫我们运行以下命令,应该是创建环境变量的。

代码语言:javascript
复制
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Kubernetes安装好后,你可以在/etc/kubernetes/查看生成的目录

代码语言:javascript
复制
[root@node01 ~]# ls /etc/kubernetes/
admin.conf  controller-manager.conf  kubelet.conf  manifests  pki  scheduler.conf

kubectl get nodes命令可以查看当前的nodes节点。

代码语言:javascript
复制

[root@node01 ~]# kubectl get nodes
NAME     STATUS     ROLES    AGE     VERSION
node01   NotReady   master   4m12s   v1.18.2

配置集群

下面就在node02和node03 重复上面的操作

代码语言:javascript
复制
[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

出现上面的信息集群配置成功。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kubernetes
  • 搭建Kubernetes集群
  • 配置集群
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档