我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CentOS7中怎么安装 Kubernetes集群

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CentOS7中怎么安装 Kubernetes集群

CentOS7中怎么安装 Kubernetes集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

CentOS7(mini) 安装 Kubernetes 集群(kubeadm方式)

安装CentOS
  1. 安装net-tools

[root@localhost ~]# yum install -y net-tools
  1. 关闭firewalld

[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@localhost ~]# setenforce 0[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安装Docker

如今Docker分为了Docker-CE和Docker-EE两个版本,CE为社区版即免费版,EE为企业版即商业版。我们选择使用CE版。

  1. 安装yum源工具包

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 下载docker-ce官方的yum源配置文件

[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 禁用docker-c-edge源配edge是不开发版,不稳定,下载stable版

yum-config-manager --disable docker-ce-edge
  1. 更新本地YUM源缓存

yum makecache fast
  1. 安装Docker-ce相应版本的

yum -y install docker-ce
  1. 运行hello world

[root@localhost ~]# systemctl start docker[root@localhost ~]# docker run hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world9a0669468bf7: Pull completeDigest: sha256:0e06ef5e1945a718b02a8c319e15bae44f47039005530bc617a5d071190ed3fcStatus: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the    executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it    to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/For more examples and ideas, visit: https://docs.docker.com/engine/userguide/
安装kubelet与kubeadm包

使用kubeadm init命令初始化集群之下载Docker镜像到所有主机的实始化时会下载kubeadm必要的依赖镜像,同时安装etcd,kube-dns,kube-proxy,由于我们GFW防火墙问题我们不能直接访问,因此先通过其它方法下载下面列表中的镜像,然后导入到系统中,再使用kubeadm init来初始化集群

  1. 使用DaoCloud加速器(可以跳过这一步)

[root@localhost ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://0d236e3f.m.daocloud.iodocker version >= 1.12{"registry-mirrors": ["http://0d236e3f.m.daocloud.io"]}Success.You need to restart docker to take effect: sudo systemctl restart docker[root@localhost ~]# systemctl restart docker
  1. 下载镜像,自己通过Dockerfile到dockerhub生成对镜像,也可以克隆我的

images=(kube-controller-manager-amd64 etcd-amd64 k8s-dns-sidecar-amd64 kube-proxy-amd64 kube-apiserver-amd64 kube-scheduler-amd64 pause-amd64 k8s-dns-dnsmasq-nanny-amd64 k8s-dns-kube-dns-amd64)for imageName in ${images[@]} ; do  docker pull champly/$imageName  docker tag champly/$imageName gcr.io/google_containers/$imageName  docker rmi champly/$imageNamedone
  1. 修改版本

docker tag gcr.io/google_containers/etcd-amd64 gcr.io/google_containers/etcd-amd64:3.0.17 && \docker rmi gcr.io/google_containers/etcd-amd64 && \docker tag gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5 && \docker rmi gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64 && \docker tag gcr.io/google_containers/k8s-dns-kube-dns-amd64 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.5 && \docker rmi gcr.io/google_containers/k8s-dns-kube-dns-amd64 && \docker tag gcr.io/google_containers/k8s-dns-sidecar-amd64 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.2 && \docker rmi gcr.io/google_containers/k8s-dns-sidecar-amd64 && \docker tag gcr.io/google_containers/kube-apiserver-amd64 gcr.io/google_containers/kube-apiserver-amd64:v1.7.5 && \docker rmi gcr.io/google_containers/kube-apiserver-amd64 && \docker tag gcr.io/google_containers/kube-controller-manager-amd64 gcr.io/google_containers/kube-controller-manager-amd64:v1.7.5 && \docker rmi gcr.io/google_containers/kube-controller-manager-amd64 && \docker tag gcr.io/google_containers/kube-proxy-amd64 gcr.io/google_containers/kube-proxy-amd64:v1.6.0 && \docker rmi gcr.io/google_containers/kube-proxy-amd64 && \docker tag gcr.io/google_containers/kube-scheduler-amd64 gcr.io/google_containers/kube-scheduler-amd64:v1.7.5 && \docker rmi gcr.io/google_containers/kube-scheduler-amd64 && \docker tag gcr.io/google_containers/pause-amd64 gcr.io/google_containers/pause-amd64:3.0 && \docker rmi gcr.io/google_containers/pause-amd64
  1. 添加阿里源

[root@localhost ~]#  cat >> /etc/yum.repos.d/kubernetes.repo << EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=0EOF
  1. 查看kubectl kubelet kubeadm kubernetes-cni列表

[root@localhost ~]# yum list kubectl kubelet kubeadm kubernetes-cni已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.sohu.com * updates: mirrors.sohu.com可安装的软件包kubeadm.x86_64                                                     1.7.5-0                                              kuberneteskubectl.x86_64                                                     1.7.5-0                                              kuberneteskubelet.x86_64                                                     1.7.5-0                                              kuberneteskubernetes-cni.x86_64                                              0.5.1-0                                              kubernetes[root@localhost ~]#
  1. 安装kubectl kubelet kubeadm kubernetes-cni

[root@localhost ~]# yum install -y kubectl kubelet kubeadm kubernetes-cni
修改cgroups
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

update KUBELET_CGROUP_ARGS=--cgroup-driver=systemd to KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs

修改kubelet中的cAdvisor监控的端口,默认为0改为4194,这样就可以通过浏器查看kubelet的监控cAdvisor的web页
[root@kub-master ~]# vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=4194"

启动所有主机上的kubelet服务
[root@master ~]# systemctl enable kubelet && systemctl start kubelet
初始化master master节点上操作
[root@master ~]# kubeadm reset && kubeadm init --apiserver-advertise-address=192.168.0.100 --kubernetes-version=v1.7.5 --pod-network-cidr=10.200.0.0/16[preflight] Running pre-flight checks[reset] Stopping the kubelet service[reset] Unmounting mounted directories in "/var/lib/kubelet"[reset] Removing kubernetes-managed containers[reset] Deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/lib/etcd][reset] Deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki][reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf][kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.[init] Using Kubernetes version: v1.7.5[init] Using Authorization modes: [Node RBAC][preflight] Running pre-flight checks[preflight] WARNING: docker version is greater than the most recently validated version. Docker version: 17.09.0-ce. Max validated version: 1.12[preflight] Starting the kubelet service[kubeadm] WARNING: starting in 1.8, tokens expire after 24 hours by default (if you require a non-expiring token use --token-ttl 0)[certificates] Generated CA certificate and key.[certificates] Generated API server certificate and key.[certificates] API Server serving cert is signed for DNS names [master kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.0.100][certificates] Generated API server kubelet client certificate and key.[certificates] Generated service account token signing key and public key.[certificates] Generated front-proxy CA certificate and key.[certificates] Generated front-proxy client certificate and key.[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"[apiclient] Created API client, waiting for the control plane to become ready[apiclient] All control plane components are healthy after 34.002949 seconds[token] Using token: 0696ed.7cd261f787453bd9[apiconfig] Created RBAC rules[addons] Applied essential addon: kube-proxy[addons] Applied essential addon: kube-dnsYour Kubernetes master has initialized successfully!To start using your cluster, you need to run (as a regular user):  mkdir -p $HOME/.kube  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  sudo chown $(id -u):$(id -g) $HOME/.kube/configYou should now deploy a pod network to the cluster.Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:  http://kubernetes.io/docs/admin/addons/You can now join any number of machines by running the following on each nodeas root:  kubeadm join --token 0696ed.7cd261f787453bd9 192.168.0.100:6443[root@master ~]#

kubeadm join --token 0696ed.7cd261f787453bd9 192.168.0.100:6443 这个一定要记住,以后无法重现,添加节点需要

添加节点
[root@node1 ~]# kubeadm join --token 0696ed.7cd261f787453bd9 192.168.0.100:6443[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.[preflight] Running pre-flight checks[preflight] WARNING: docker version is greater than the most recently validated version. Docker version: 17.09.0-ce. Max validated version: 1.12[preflight] WARNING: kubelet service is not enabled, please run 'systemctl enable kubelet.service'[preflight] Starting the kubelet service[discovery] Trying to connect to API Server "192.168.0.100:6443"[discovery] Created cluster-info discovery client, requesting info from "https://192.168.0.100:6443"[discovery] Cluster info signature and contents are valid, will use API Server "https://192.168.0.100:6443"[discovery] Successfully established connection with API Server "192.168.0.100:6443"[bootstrap] Detected server version: v1.7.10[bootstrap] The server supports the Certificates API (certificates.k8s.io/v1beta1)[csr] Created API client to obtain unique certificate for this node, generating keys and certificate signing request[csr] Received signed certificate from the API server, generating KubeConfig...[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"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配置kubectl的kubeconfig文件
[root@master ~]# mkdir -p $HOME/.kube[root@master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[root@master ~]# chown $(id -u):$(id -g) $HOME/.kube/config
在Master上安装flannel
docker pull quay.io/coreos/flannel:v0.8.0-amd64kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.8.0/Documentation/kube-flannel.ymlkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.8.0/Documentation/kube-flannel-rbac.yml
查看集群
[root@master ~]# kubectl get csNAME                 STATUS    MESSAGE              ERRORscheduler            Healthy   okcontroller-manager   Healthy   oketcd-0               Healthy   {"health": "true"}[root@master ~]# kubectl get nodesNAME      STATUS     AGE       VERSIONmaster    Ready      24m       v1.7.5node1     NotReady   45s       v1.7.5node2     NotReady   7s        v1.7.5[root@master ~]# kubectl get pods --all-namespacesNAMESPACE     NAME                             READY     STATUS              RESTARTS   AGEkube-system   etcd-master                      1/1       Running             0          24mkube-system   kube-apiserver-master            1/1       Running             0          24mkube-system   kube-controller-manager-master   1/1       Running             0          24mkube-system   kube-dns-2425271678-h58rw        0/3       ImagePullBackOff    0          25mkube-system   kube-flannel-ds-28n3w            1/2       CrashLoopBackOff    13         24mkube-system   kube-flannel-ds-ndspr            0/2       ContainerCreating   0          41skube-system   kube-flannel-ds-zvx9j            0/2       ContainerCreating   0          1mkube-system   kube-proxy-qxxzr                 0/1       ImagePullBackOff    0          41skube-system   kube-proxy-shkmx                 0/1       ImagePullBackOff    0          25mkube-system   kube-proxy-vtk52                 0/1       ContainerCreating   0          1mkube-system   kube-scheduler-master            1/1       Running             0          24m[root@master ~]#

关于CentOS7中怎么安装 Kubernetes集群问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

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

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

CentOS7中怎么安装 Kubernetes集群

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CentOS7中怎么安装 Kubernetes集群

CentOS7中怎么安装 Kubernetes集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CentOS7(mini) 安装 Kubernetes 集群(kubeadm
2023-06-19

Centos7安装部署Kubernetes(k8s)集群实现过程

这篇文章主要为大家介绍了Centos7安装部署Kubernetes(k8s)集群实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

kubernetes中ETCD TLS证书集群如何安装

这篇文章主要为大家展示了“kubernetes中ETCD TLS证书集群如何安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中ETCD TLS证书集群如何安装”这篇文章吧。
2023-06-04

centos系统安装Kubernetes集群步骤

目录前言1、安装docker2、安装Kubernetes1、基本环境2、安装kubelet、kubeadm、kubectl(三台机器全部都要设置)3、初始化master节点3、安装Calico网络插件4、加入worker节点5、验证总结前言
2022-06-04

CentOS7安装rabbitmq集群(二进制)

RabbiMQ是用Erang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡。RabbiMQ模式RabbitMQ模式大概分为以下三种:(1)单一模式。(2)普通模式(默认的集群模式)。(3) 镜像模式(
2023-01-31

怎么使用kubeadm安装kubernetes 1.13高可用集群

小编给大家分享一下怎么使用kubeadm安装kubernetes 1.13高可用集群,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!kubeadm安装kubernetes 1.13高可用集群初始化集群:配置hosts文件vi
2023-06-04

CentOS7安装GlusterFS集群的全过程

目录环境说明:服务器:client:安装:配置 GlusterFS 集群:查看集群状态:创建数据存储目录:查看volume 状态:创建GlusterFS磁盘:GlusterFS 几种volume 模式说明:再查看 volume 状态:glu
2022-06-05

Kubernetes集群怎么搭建

本篇内容介绍了“Kubernetes集群怎么搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Kubernetes 是一个可移植的、可扩展的
2023-06-27

Docker Desktop安装本地Kubernetes集群的实现

本指南详细讲解了如何在本地机器上使用DockerDesktop安装Kubernetes集群。指南包含步骤指南,涵盖安装DockerDesktop、初始化集群、安装kubectl插件、创建Pod和服务、管理集群以及故障排除。
Docker Desktop安装本地Kubernetes集群的实现
2024-04-02

Ubuntu怎么搭建Kubernetes集群

这篇文章主要介绍“Ubuntu怎么搭建Kubernetes集群”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Ubuntu怎么搭建Kubernetes集群”文章能帮助大家解决问题。关于 Kuberne
2023-07-04

kubernetes怎么部署redis集群

在Kubernetes中部署Redis集群通常可以使用Redis官方提供的Redis集群模式或者使用第三方工具如Redis Operator等来实现。以下是部署Redis集群的一般步骤:创建Redis配置文件:创建一个Redis集群的配置文
kubernetes怎么部署redis集群
2024-04-09

k8s Kubernetes v1.10.0 集群安装以及踩坑过程

本篇文章为大家展示了k8s Kubernetes v1.10.0 集群安装以及踩坑过程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因工作需求,最近开始研究docker及k8s相关的资料,本文主要记
2023-06-19

linux怎么安装hadoop集群

要在Linux上安装Hadoop集群,您可以按照以下步骤进行操作:1. 首先确保您已经安装了Java JDK。Hadoop依赖于Java环境,因此必须先安装Java JDK。您可以通过运行以下命令来检查Java是否已安装:```java -
2023-10-11

Kubernetes集群插件怎么部署

这篇文章主要介绍“Kubernetes集群插件怎么部署”,在日常操作中,相信很多人在Kubernetes集群插件怎么部署问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Kubernetes集群插件怎么部署”的疑
2023-06-29

docker怎么安装hadoop集群

要在Docker中安装Hadoop集群,可以按照以下步骤进行操作:1. 首先,确保你的机器上已经安装了Docker。你可以通过运行`docker --version`来检查Docker是否已经安装。2. 创建一个新的Docker网络,该网络
2023-10-11

在Ubuntu 18.04.1中怎么安装Hadoop集群

这篇文章给大家介绍在Ubuntu 18.04.1中怎么安装Hadoop集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。准备运行Hadoop服务器首先,我们需要安装Oracle Java 8,因为从Ubuntu 18.
2023-06-02

在CentOS中安装Rancher2并配置kubernetes集群的图文教程

准备 一台CentOS主机,安装dockerCE,用于安装Rancher2 一台CentOS主机,安装DockerCE,用于安装kubernetes集群管理主机 多台CentOS主机,安装Docke
2022-06-04

Hadoop集群怎样安装

这篇文章主要为大家展示了“Hadoop集群怎样安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hadoop集群怎样安装”这篇文章吧。一、安装环境 因为安装Hadoop集群需要的主机数量必须为奇
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录