Linux(centos7)离现安装kubernetes1.19.2和docker——组件部分

Linux(centos7)离现安装kubernetes1.19.2和docker——组件部分

获取rpm离线包

可以去网上下载,rpm包是有依赖的,担心不完整,最好的办法是找一台能下载的机器,比如本地、开发、测试环境的机器导出……完美~

先安装yum untils工具,然后使用yumdownloader 下载所有包及依赖

yum install yum-utils

然后开始导出包


#导出k8s
yumdownloader --destdir=/tmp/k8s --resolve kubelet-1.19.2 kubeadm-1.19.2 kubectl-1.19.2
#导出docker
yumdownloader --destdir=/tmp/docker --resolve docker-ce-19.03.12 docker-ce-cli-19.03.12 containerd.io-19.03.12

指定安装1.19.2,写法如kubeadm-1.19.2 ,不加版本号会安装最新版。
注意:docker与kubernetes的版本要一致

打包一下方便上传

tar -cvf docker19.03.12_rpm.tar /tmp/docker/
tar -cvf k8s1.19.2_rpm.tar /tmp/rpm/

也可以直接下载我的:

百度云盘:
链接: https://pan.baidu.com/s/1oTyqta-Q97LdpnggmV_p8g 密码: k1ha

安装

先上传服务器,然后在服务器上进行安装

scp *.tar 10.99.25.30:~/

解压

tar -xvf  k8s1.19.2_rpm.tar
tar -xvf  docker19.03.12_rpm.tar

安装

#安装k8s
yum localinstall rpm/* -y
#安装dockder
yum localinstall docker/* -y

系统配置相关(所有k8s机器上都要做)

准备工作:

假如我们有三台机器:
192.168.9.1 用做master
192.168.9.2 用做node1
192.168.9.3 用做node2

  • 配置机器间互信(使用ssh-keygen)
  • 修改hosts
sudo vi  /etc/hosts
#追加
192.168.9.1     master
192.168.9.2     node1
192.168.9.3     node2
  • 配置docker aliyun regisitry(必要配置,否则k8s无法加载导入的docker images)
sudo vi /etc/docker/daemon.json
{
   
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
     "https://docker.mirrors.ustc.edu.cn",
     "https://registry.docker-cn.com"
  ]
}

如果配置本地registry,需要添加:

"insecure-registries": [
    "192.168.88.201:5000"
  ]

1.关swap

#临时关闭,避免重起
sudo swapoff -a
#在配置中永久关闭
sudo vi /etc/fstab
#注掉如下配置
#/dev/mapper/starbucks-swap swap swap defaults 0 0

2.关闭selinux

#临时关闭
setenforce 0
#永久关闭
vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled。

3.配置ip6,避免路由告警

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
#刷新一下
sysctl --system

4.改k8s cgroup参数同docker一致

sudo vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
#把sytemed 改成 cgroupfs

这个要先查看docker info ,查下docker的cgroup是哪种
在这里插入图片描述

5.启动docker 和 k8s
sudo systemctl daemon-reload && sudo systemctl enable –now kubelet
sudo systemctl start docker
sudo systemctl status kubelet

以上所有服务器执行

以下在master执行

注意:执行master 初始化之前,先导入docker image

参考:Linux(centos7)离线安装Kubernetes1.19.2之——image导入导出

初始化k8s

  • 重置一下(可加 -f 参数强制删除)
kubeadm reset
  • 初始化
kubeadm init --kubernetes-version=v1.19.2 --pod-network-cidr=10.244.0.0/16

也可以使用配置文件初始化

rm -f ./kubeadm-config.yaml
cat <<EOF > ./kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.19.2
imageRepository: registry.aliyuncs.com/k8sxio
controlPlaneEndpoint: "${APISERVER_NAME}:6443"
networking:
  serviceSubnet: "10.96.0.0/16"
  podSubnet: "${POD_SUBNET}"
  dnsDomain: "cluster.local"
EOF

使用配置文件初始化k8s

kubeadm init --config=kubeadm-config.yaml --upload-certs

参考:https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/

  • 创建node join时使用的token
kubeadm token create --print-join-command

在这里插入图片描述

以下在node执行

kubeadm join --token 1ff84c.b7828d504656ba64 192.168.12.21:6443 --discovery-token-ca-cert-hash sha256:ceb2b93ce7543174b8fa87628fbe1f3926b5206915fee06629195ea8b4b89fe7 

开始使用

1.先添加k8s环境

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile

2.使用

kubectl get nodes
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100331.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java反射介绍[通俗易懂]

    Java反射介绍[通俗易懂] 一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上的总结就…

  • python for循环求1到100的和_python中用for循环语句实现1加到100的方法

    python for循环求1到100的和_python中用for循环语句实现1加到100的方法python中用for循环语句实现1加到100的方法发布时间:2020-12-0714:28:48来源:亿速云阅读:59作者:小新小编给大家分享一下python中用for循环语句实现1加到100的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!计算机是现代一种用于高速计算的电子计算机器,是一种高级的计算工具。可以进行…

  • emule服务器地址列表地址

    emule服务器地址列表地址可能获得来源http://ed2k.2x4u.de/index.htmlServer.met地址.为ED2K使用..http://www.esel-paradies.de/server/server.methttp://www.edonkey2000.com/server.methttp://users.servicios.retecal.es/ljpadillam/Baltab/

  • vue.js 渲染函数_Vue.js的不可渲染且可扩展的RTF编辑器[通俗易懂]

    vue.js 渲染函数_Vue.js的不可渲染且可扩展的RTF编辑器[通俗易懂]vue.js渲染函数轻按(tiptap)Arich-texteditorforVue.js.Vue.js的富文本编辑器。Viewdemo查看演示DownloadSource下载源什么是无renderless?(Whatmeansrenderless?)Withrenderlesscomponentsyou’llhave(almost)…

  • 项目实战|史上最简单的springboot 整合elk教程,实现日志收集(带视频哦)

    项目实战|史上最简单的springboot 整合elk教程,实现日志收集(带视频哦)项目实战|史上最简单的springboot整合elk教程,实现日志收集

  • 微信二维码登录的原理是什么_请使用微信扫描二维码登录

    微信二维码登录的原理是什么_请使用微信扫描二维码登录在电脑上使用微信时,你可能已经发现微信不提供传统的账号密码登陆,取而代之的是通过扫描二维码进行登陆。今天就要研究下次登陆方式微信时如何实现的?1、每次用户打开PC端登陆请求,系统返回一个唯一的uid,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号