返回顶部
首页 > 资讯 > 精选 >如何使用Kubeadm快速搭建Kubernetes
  • 426
分享到

如何使用Kubeadm快速搭建Kubernetes

2023-06-19 09:06:31 426人浏览 泡泡鱼
摘要

这篇文章主要讲解了“如何使用Kubeadm快速搭建kubernetes”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubeadm快速搭建Kubernetes”吧!##版本说明 ##

这篇文章主要讲解了“如何使用Kubeadm快速搭建kubernetes”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubeadm快速搭建Kubernetes”吧!

##版本说明 ##

  1. kubernetes1.6

  2. Docker1.12.6

环境准备

192.168.0.51 master 192.168.0.52 miNIOn1 192.168.0.53 minion2

##安装docker ##

# 安装yum-utils 管理yum repository及扩展包的工具yum install -y yum-utils   # 增加docker repositoryyum-config-manager \    --add-repo \    https://docs.docker.com/v1.13/engine/installation/linux/repo_files/Centos/docker.repo# 下载包信息到本地yum makecache fast# 安装docker-1.12.6yum install -y docker-engine-1.12.6# 启动docker服务systemctl start docker# 开机启动dockersystemctl enable docker

##系统配置 ## 创建/etc/sysctl.d/k8s.conf文件,内容为:

net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1

执行

sysctl -p /etc/sysctl.d/k8s.conf

在/etc/hostname中修改各节点的hostname,在/etc/hosts中设置hostname对应非lo回环网卡ip:

192.168.0.51 master192.168.0.52 minion1192.168.0.53 minion2

##安装kubeadm和kubelet ## 安装kubeadm和kubelet需要技术梯子,添加以下 1、通过修改/etc/hosts文件添加IP *.Google.com,比如

216.58.200.33  GCr.io216.58.200.33  www.gcr.io216.58.200.33  cloud.google.com216.58.200.33  packages.cloud.google.com216.58.200.33  console.cloud.google.com216.58.200.33  status.cloud.google.com216.58.200.33  ssh.cloud.google.com

:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

输入如下内容:

[kubernetes]name=Kubernetesbaseurl=Https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0EOF

安装kubelet,kubeadm,kubectl

yum -y install socat kubelet-1.6.1 kubeadm-1.6.1 kubectl-1.6.1systemctl enable kubelet.service

##初始化集群 ## 上面的步骤每个node都需要执行,此步骤只在Master Node 执行。选择192.168.0.51这台作为Master Node,在此机器上

kubeadm init --kubernetes-version=v1.6.1 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.51

选择flannel作为网络插件,所以上面的命令指定--pod-network-cidr=10.244.0.0/16。初始化遇到问题时,使用下面的命令清理然后再初始化:

kubeadm resetifconfig cni0 downip link delete cni0ifconfig flannel.1 downip link delete flannel.1rm -rf /var/lib/cni/

不出意外Master Node 已初始化成功。此时查看节点状态 kubectl get nodes 会报 The connection to the server localhost:8080 was refused - did you specify the right host or port? 我们查看kube-apiserver的监听端口

[root@kube-master ~]# netstat -nltp | grep apiservertcp6       0      0 :::6443                 :::*                    LISTEN      5430/kube-apiserver

我们发现apiserver只监听了6443端口,但是我们需要使用kubectl访问apiserver,so 在~/.bash_profile追加下面的环境变量

export KUBECONFIG=/etc/kubernetes/admin.conf# 使环境变量生效source ~/.bash_profile

现在再试试kubectl get nodes 吧!

##安装Pod Network ## 安装flannel network add-on 分两种情况

只有一张网卡 直接执行

kubectl create -f https://raw.GitHubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.ymlkubectl apply -f  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

有多张网卡 执行

kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml

执行第二步有所不同,下载https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ,flanneld启动参数加上***--iface=[iface-name]***

......apiVersion: extensions/v1beta1kind: DaemonSetmetadata:  name: kube-flannel-ds......containers:      - name: kube-flannel        image: quay.io/coreos/flannel:v0.7.0-amd64        command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr", "--iface=eth2" ]......

eth2这里换成自己的网卡名即可。创建flanneld

kubectl create -f {修改后的kube-flannel.yml路径}# 确保所有的Pod都处于Running状态kubectl get pod --all-namespaces -o wide

##使Master Node 参与工作负载 ## 一般不建议将Master Node参与负载,此时只为测试环境方便。

# 使Master Node参与工作负载kubectl taint nodes --all  node-role.kubernetes.io/master-

##测试 ##

kubectl run curl --image=radial/busyboxplus:curl -i --ttyIf you don't see a command prompt, try pressing enter.[ root@curl-57077659-xgckw:/ ]$

进入后执行nslookup kubernetes.default确认DNS解析正常。

[ root@curl-57077659-xgckw:/ ]$ nslookup kubernetes.defaultServer:    10.96.0.10Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.localName:      kubernetes.defaultAddress 1: 10.96.0.1 kubernetes.default.svc.cluster.local

如果正常解析,就大功告成啦!

# 删除curl这个Podkubectl delete deploy cutl

##向集群中添加节点 ## 根据上面的步骤安装docker,kubelet套件。 在Master Node节点上执行

# 获取tokenkubeadm token list

在minion1上执行

# 关闭防火墙systemctl stop firewalld# 禁止防火墙开机启动systemctl disable firewalld# 添加节点kubeadm join --token ${token} ${master-ip}:6443

看到如下内容就说明我们已经成功向集群中添加节点了!nice

kubeadm join --token a432c6.078b144b659c82b4 192.168.0.51:6443-----  略略略  ----Node join complete:* Certificate signing request sent to master and response  received.* Kubelet infORMed of new secure connection details.Run 'kubectl get nodes' on the master to see this Machine join.

在Master Node上执行kubectl get nodes 确保所有的node是Ready的状态。

##问题总结 ## Q:Minion Node一直处于notReady状态?

A:主要有两个原因:

启动kubelet的时候,会pull两个镜像(gcr.io/**),因为GFW的存在,不能成功pull,所以要自己找到这两个docker镜像

gcr.io/google_containers/pause-amd64:3.0gcr.io/google_containers/kube-proxy-amd64:v1.6.1

使用Kubeadm工具搭建的Kubernetes集群,已经默认集成了安全策略,所以要将Master Node节点/etc/kubernetes/pki下的所有文件复制到Minion Node相同目录下一份。所以在Master Node上执行

scp /etc/kubernetes/pki/* root@{minion-ip}:/etc/kubernetes/pki

感谢各位的阅读,以上就是“如何使用Kubeadm快速搭建Kubernetes”的内容了,经过本文的学习后,相信大家对如何使用Kubeadm快速搭建Kubernetes这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何使用Kubeadm快速搭建Kubernetes

本文链接: https://lsjlt.com/news/295384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用Kubeadm快速搭建Kubernetes
    这篇文章主要讲解了“如何使用Kubeadm快速搭建Kubernetes”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubeadm快速搭建Kubernetes”吧!##版本说明 ##...
    99+
    2023-06-19
  • kubeadm init快速搭建k8s源码解析
    目录引言下面的代码就都是为 init 命令绑定和添加一些标志以方法 AddInitConfigFlags 为例kubeadm init --help 指令引言 我们都知道,从头搭建...
    99+
    2023-05-14
    kubeadm init搭建k8s kubeadm init
  • kubeadm init快速搭建k8s源码分析
    今天小编给大家分享一下kubeadm init快速搭建k8s源码分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-05
  • kubernetes中如何使用 kubeadm 创建高可用集群
    本篇文章为大家展示了kubernetes中如何使用 kubeadm 创建高可用集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一. 环境和版本信息OS:  CentO...
    99+
    2023-06-19
  • 快速搭建kubernetes与kubeSphere环境
    要快速搭建Kubernetes与KubeSphere环境,可以按照以下步骤进行操作:1. 安装Docker:Kubernetes和K...
    99+
    2023-09-22
    kubernetes
  • 如何快速搭建并使用ThinkPHP5
    这篇文章主要介绍“如何快速搭建并使用ThinkPHP5”,在日常操作中,相信很多人在如何快速搭建并使用ThinkPHP5问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何快速搭建并使用ThinkPHP5”的疑...
    99+
    2023-06-25
  • 如何使用kubeadm命令行工具创建kubernetes集群
    这篇文章主要为大家展示了“如何使用kubeadm命令行工具创建kubernetes集群”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用kubeadm命令行工具创建kubernetes集群”...
    99+
    2023-06-29
  • 如何使用dede快速搭建网站
    使用dede快速搭建网站的方法:安装xampp虚拟环境。打开xampp,运行Apache和MySQL。下载dedeCMS,进行解压。解压后将uploads中所有文件复制到XAMPP/htdocs文件中。打开浏览器,访问“localhost”...
    99+
    2024-04-02
  • 如何使用node快速搭建后台
    这篇文章主要介绍了如何使用node快速搭建后台,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先安装node,express,express-generator (4.x版本...
    99+
    2023-06-22
  • SpringBoot如何快速搭建
    这篇文章主要介绍SpringBoot如何快速搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Boot 概述Build Anything with Spring Boot:Spring Boot is ...
    99+
    2023-06-02
  • 如何快速使用mysqlreplicate搭建MySQL主从
    简介 mysql-utilities工具集是一个集中了多种工具的合集,可以理解为是DBA的工具箱,本文介绍利用其中的mysqlreplicate工具来快速搭建MySQL主从环境。 HE1:192.168.1...
    99+
    2024-04-02
  • 使用kubeadm命令行工具创建kubernetes集群
    目录命令行工具通过软件仓库安装二进制文件下载安装ubutu & centos 快速安装创建 kubernetes 集群1,创建 Master2,然后初始化集群网络。3,加入集...
    99+
    2024-04-02
  • ubuntu 使用阿里云镜像源快速搭建kubernetes 1.15.2集群
    搭建k8s集群时,需要访问google,下载相关镜像以及安装软件,非常麻烦。正好阿里云提供了k8s的更新源,国内用户就可以直接使用了。 操作系统主机名IP地址功能配置ubuntu-16.04.5-server-amd64k8s-m...
    99+
    2023-01-31
    阿里 镜像 集群
  • 使用yum快速搭建zabbix2.2
    系统版本:CentOS 6.9yum安装的软件版本为:zabbix2.2.16,apache2.2.15,mysql5.1.73(本文永久地址:http://woymk.blog.51cto.com/100...
    99+
    2024-04-02
  • MVC3如何快速搭建Web应用
    这篇文章给大家分享的是有关MVC3如何快速搭建Web应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Web应用不像winform应用,要想让用户得到更流畅更舒适的体验,方法之一...
    99+
    2024-04-02
  • 如何使用VirtualBox+Ubuntu16搭建Kubernetes集群
    小编给大家分享一下如何使用VirtualBox+Ubuntu16搭建Kubernetes集群,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Kubernetes 运...
    99+
    2023-06-15
  • 如何使用Bash脚本快速搭建Docker容器?
    Docker 是一种开源的虚拟化技术,它可以帮助我们快速创建、部署和运行应用程序。而 Bash 脚本是一种命令行脚本语言,它可以帮助我们自动化执行一些任务。在本文中,我们将介绍如何使用 Bash 脚本快速搭建 Docker 容器。 安装...
    99+
    2023-08-14
    并发 bash 容器
  • 如何快速搭建Firekylin博客
    小编给大家分享一下如何快速搭建Firekylin博客,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1).安装 Node.jscurl --silent&...
    99+
    2023-06-27
  • 教你如何快速使用miniserve搭建文件服务
    目录启动服务更多功能指定目录指定单个文件投放网页设置用户名和密码随机6位十六进制URL允许上传文件允许创建目录允许手机拍照上传Docker 快速部署命令当我们想自己搭建一个 HTTP...
    99+
    2023-05-15
    miniserve搭建文件服务 miniserve文件服务器
  • 如何快速搭建spring boot2.0项目
    这篇文章主要讲解了“如何快速搭建spring boot2.0项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速搭建spring boot2.0项目”...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作