文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

kubernetes集群搭建的方法是什么

2023-06-27 15:53

关注

这篇文章主要介绍“kubernetes集群搭建的方法是什么”,在日常操作中,相信很多人在kubernetes集群搭建的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”kubernetes集群搭建的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。

kubernetes集群搭建的方法是什么

k8s集群部署方案

如下是我的集群部署策略,1个master + 2个node(minion1.2之前的叫法)。我的存储集群etcd是单点集群,不推荐此做法。网络使用的是flannel虚拟二次网络。

kubernetes集群搭建的方法是什么

Kubernetes具有完备的集群管理能力:

  包括多层次的安全防护和准入机制  多租户应用支撑能力  透明的服务注册和服务发现机制  内建智能负载均衡器  强大的故障发现和自我修复能力  服务滚动升级和在线扩容能力  可扩展的资源自动调度机制  以及多粒度的资源管理能力

同时,kubernetes提供了完善的管理工具,这些工具涵盖了包括开发、部署测试、运维监控在内的各个环节。

在kubernetes中,service(服务)是分布式集群架构的核心,一个service对象拥有如下关键特征:

  拥有一个唯一指定的名字(比如mysql-service)。  拥有一个虚拟IP(Cluster IP、service IP或VIP)和端口号。  能够提供某种远程服务能力。  被映射到了提供这种服务能力的一组容器应用上。

Kubernetes.io开发了一个交互式教程,通过WEB浏览器就能使用预先部署好的一个Kubernetes集群,快速体验kubernetes的功能和应用场景。

K8s官方下载地址:https://github.com/kubernetes

kubernetes集群搭建的方法是什么

环境准备工作
主机名     操作系统               IP地址master  Centos 7.4-x86_64  192.168.2.102node1  Centos 7.4-x86_64  192.168.2.108node2  Centos 7.4-x86_64  192.168.2.228
关闭CentOS7自带的防火墙服务
systemctl disable firewalldsystemctl stop firewalld
修改主机名
[root@localhost ~]# hostnamectl  master //192.168.2.102[root@localhost ~]# hostnamectl  node1 //192.168.2.108[root@localhost ~]# hostnamectl  node2 //192.168.2.228

更改Hostname为 master、node1、node2,配置IP地址,配置3台测试机的/etc/hosts文件(在三台服务器上同步)

[root@master ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.2.102 master192.168.2.108 node1192.168.2.228 node2[root@master ~]#
时间校对(三台机器都做时间校对)
[root@master ~]# ntpdate ntp1.aliyun.com13 Sep 14:48:02 ntpdate[1596]: adjust time server 120.25.115.20 offset -0.015854 sec[root@master ~]# hwclock2018年09月13日 星期四 14时49分51秒  -0.646898 秒
安装Kubernetes,配置dockers镜像
[root@master ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
kubernetes集群搭建的方法是什么

配置kubernetes仓库
[root@master yum.repos.d]# vim kubernetes.repo[kubernetes]name=kubernetes Repobaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpgenabled=1
kubernetes集群搭建的方法是什么

[root@master ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg[root@master ~]# rpm --import rpm-package-key.gpg[root@master yum.repos.d]# yum repolist
kubernetes集群搭建的方法是什么
[root@master yum.repos.d]# scp CentOS-Base.repo docker-ce.repo kubernetes.repo node1:/etc/yum.repos.d/
kubernetes集群搭建的方法是什么
安装docker和kubelet
[root@master ~]# yum -y install docker-ce kubelet kubeadm kubectl
kubernetes集群搭建的方法是什么
环境变量
[root@master ~]# vim /usr/lib/systemd/system/docker.service手动添加一行Environment="HTTPS_PROXY=http://www.ik8s.io:10080"Environment="NO_PROXY=127.0.0.0/8,172.0.0.0/16"
kubernetes集群搭建的方法是什么
[root@master ~]# systemctl daemon-reload启动docker[root@master ~]# systemctl start docker设置开机启动[root@master ~]# systemctl enable docker[root@master ~]# docker info保证输出的都是1[root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-ip6tables1[root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-iptables1[root@master ~]# rpm -ql kubelet/etc/kubernetes/manifests  #清单目录/etc/sysconfig/kubelet   #配置文件/etc/systemd/system/kubelet.service  /usr/bin/kubelet   #主程序设置开机启动[root@master ~]# systemctl enable kubelet
kubernetes集群搭建的方法是什么
初始化
[root@master ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
kubernetes集群搭建的方法是什么

报错信息,解决办法:

[root@master ~]# vim /etc/sysconfig/kubeletKUBELET_EXTRA_ARGS="--fail-swap-on=false"[root@master ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
kubernetes集群搭建的方法是什么

注意这一条命令需要保存好(添加集群使用)

kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a[root@master ~]# docker image ls
kubernetes集群搭建的方法是什么
[root@master ~]# ss –ntl
kubernetes集群搭建的方法是什么
[root@master ~]# mkdir -p $HOME/.kube[root@master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config检测组件运行是否正常[root@master ~]# kubectl get cs
kubernetes集群搭建的方法是什么
查看并验证节点信息是否成功
[root@master ~]# kubectl get nodesNAME      STATUS     ROLES     AGE       VERSIONmaster    NotReady   master    44m       v1.11.3
安装flannel
[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml[root@master ~]# curl -sSL "https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml?raw=true" | kubectl create -f -
kubernetes集群搭建的方法是什么
[root@master ~]# docker image ls
kubernetes集群搭建的方法是什么
查看并验证节点信息是否成功
[root@master ~]# kubectl get  nodesNAME      STATUS    ROLES     AGE       VERSIONmaster    Ready     master    2h        v1.11.3
查看pod运行情况
[root@master ~]# kubectl get pods -n kube-system
kubernetes集群搭建的方法是什么
配置文件传到node1、node2
[root@master ~]# scp /usr/lib/systemd/system/docker.service node1:/usr/lib/systemd/system/docker.service[root@master ~]# scp /etc/sysconfig/kubelet node1:/etc/sysconfig/[root@master ~]# scp /usr/lib/systemd/system/docker.service node2:/usr/lib/systemd/system/docker.service[root@master ~]# scp /etc/sysconfig/kubelet node2:/etc/sysconfig/
node1服务器配置
[root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
kubernetes集群搭建的方法是什么
[root@node1 ~]# rpm --import rpm-package-key.gpg
安装docker、kubelet
[root@node1 ~]# yum -y install docker-ce kubelet kubeadm
kubernetes集群搭建的方法是什么
启动docker
[root@node1 ~]# systemctl start docker[root@node1 ~]# systemctl enable docker kubelet[root@node1 ~]# docker info
添加主集群里
[root@node1 ~]# kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a --ignore-preflight-errors=Swap
kubernetes集群搭建的方法是什么
查看下载镜像
[root@node1 ~]# docker image ls
kubernetes集群搭建的方法是什么
在master服务器上可以查节点信息
[root@master ~]# kubectl get nodesNAME      STATUS    ROLES     AGE       VERSIONmaster    Ready     master    3h        v1.11.3node1     Ready         7m        v1.11.3[root@master ~]# kubectl get pods -n kube-system -o wide
kubernetes集群搭建的方法是什么
node2服务器配置
[root@node2 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
kubernetes集群搭建的方法是什么
[root@node2 ~]# rpm --import rpm-package-key.gpg
安装docker、kubelet
[root@node2 ~]#  yum -y install docker-ce kubelet kubeadm
kubernetes集群搭建的方法是什么
启动docker
[root@node2 ~]# systemctl start docker[root@node2 ~]# systemctl enable docker kubelet[root@node2 ~]# docker info
kubernetes集群搭建的方法是什么
添加主集群里
[root@node2 ~]# kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a --ignore-preflight-errors=Swap
kubernetes集群搭建的方法是什么
在master服务器上可以查节点信息
[root@master ~]# kubectl get nodes
kubernetes集群搭建的方法是什么
[root@master ~]# kubectl get pods -n kube-system -o wide
kubernetes集群搭建的方法是什么

到此,关于“kubernetes集群搭建的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯