首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux(centos7)离现安装kubernetes1.19.2和docker——组件部分

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

作者头像
全栈程序员站长
发布2021-05-19 16:28:25
发布2021-05-19 16:28:25
8140
举报

获取rpm离线包

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

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

代码语言:javascript
复制
yum install yum-utils

然后开始导出包

代码语言:javascript
复制
#导出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的版本要一致

打包一下方便上传

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

安装

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

代码语言:javascript
复制
scp *.tar 10.99.25.30:~/

解压

代码语言:javascript
复制
tar -xvf  k8s1.19.2_rpm.tar
tar -xvf  docker19.03.12_rpm.tar

安装

代码语言:javascript
复制
#安装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
代码语言:javascript
复制
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)
代码语言:javascript
复制
sudo vi /etc/docker/daemon.json
代码语言:javascript
复制
{
   
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
     "https://docker.mirrors.ustc.edu.cn",
     "https://registry.docker-cn.com"
  ]
}

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

代码语言:javascript
复制
"insecure-registries": [
    "192.168.88.201:5000"
  ]

1.关swap

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

2.关闭selinux

代码语言:javascript
复制
#临时关闭
setenforce 0
#永久关闭
vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled。

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

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

代码语言:javascript
复制
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 参数强制删除)
代码语言:javascript
复制
kubeadm reset
  • 初始化
代码语言:javascript
复制
kubeadm init --kubernetes-version=v1.19.2 --pod-network-cidr=10.244.0.0/16

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

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

代码语言:javascript
复制
kubeadm init --config=kubeadm-config.yaml --upload-certs

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

  • 创建node join时使用的token
代码语言:javascript
复制
kubeadm token create --print-join-command

以下在node执行

代码语言:javascript
复制
kubeadm join --token 1ff84c.b7828d504656ba64 192.168.12.21:6443 --discovery-token-ca-cert-hash sha256:ceb2b93ce7543174b8fa87628fbe1f3926b5206915fee06629195ea8b4b89fe7 

开始使用

1.先添加k8s环境

代码语言:javascript
复制
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile

2.使用

代码语言:javascript
复制
kubectl get nodes

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取rpm离线包
  • 安装
  • 系统配置相关(所有k8s机器上都要做)
  • 以下在master执行
  • 以下在node执行
  • 开始使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档