【kubernetes集群系列(一)】Master安装(使用kubeadm)

【kubernetes集群系列(一)】Master安装(使用kubeadm)

1.检查centos发行版

查看centos版本

cat /etc/redhad-release

在这里插入图片描述

如果不是7.6,7.7,7.8直接升级centos

yum update -y kernel
rpm -q kernel
yum update

2.安装kubernetes准备工作

  • 安装docker
# 添加repo
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#安装
sudo yum update -y
sudo yum install docker-ce docker-ce-cli containerd.io -y

修改/etc/docker/daemon.json —- 先配置好国内镜像,不然后面加入节点image pull不下来

{
   
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
	"https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

添加到开机启动

sudo systemctl start docker
sudo systemctl enable docker
  • 安装kubernetes
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

#将 SELinux 设置为 permissive 模式(相当于将其禁用)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

systemctl enable --now kubelet

起动kubelet 失败是正常的,因为还没有对它init。

  • 关swap
 swapoff -a && sed -i '/swap/d' /etc/fstab
  • 设置iptable
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

3.使用kubeadm安装单机集群

  • 配置使用参数
#本机ip
export MASTER_IP=192.168.88.201
#hostname
export APISERVER_NAME=apiserver.sh
export POD_SUBNET=10.100.0.1/16

#配置本地hosts,意思是:APISERVER_NAME与MASTER_IP相同
echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
  • 执行安装
 curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.2

卸载与重装

  • 如果安装失败需要重置:
kubeadm reset -f
  • 删除k8s
yum remove kubelet-1.19.2 kubeadm-1.19.2 kubectl-1.19.2
yum remove kubelet kubeadm kubectl

#删除所有docker images文件
docker ps -q | xargs docker rm -f
docker images -q |xargs docker rmi -f
rm -rf /var/lib/docker

#处理minikube遗留
find /etc/ -type f |xargs grep 'minikube'
rm -rf /etc/systemd/system/kubelet.service.d

4.提升效率

命令自动补全
linux bash

yum install bash-completion -y
kubectl completion bash >/etc/bash_completion.d/kubectl
echo "source <(kubectl completion bash)" >> ~/.bashrc
source ~/.bashrc
#别名,可选
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc

mac zsh

brew install  bash-completion
echo "source <(kubectl completion zsh)" >> ~/.zshrc
source ~/.zshrc
#别名,可选
echo 'alias k=kubectl' >>~/.zshrc
echo 'complete -F __start_kubectl k' >>~/.zshrc

设置参考:Install and Set Up kubectl

参考:使用 kubeadm 创建集群

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于HTML5移动app开发教程一

    基于HTML5移动app开发教程一一摘要现在教大家创建第一个移动APP应用,在这里不需要大家对HTML相关知识特别熟练,只要大家能看懂html,js代码,就可以轻松创建一个基于HTML5webAPP应用.二整体效果三整个框架图四具体实现1.页面引导图第一步manifest.json参数设置如图:第二步在index.html(这个文件相当于iOS中的appdelegate.m)加上引导图代码第三步在mui.plu

    2022年5月6日
    80
  • 计算机的发展历史和发展趋势_对未来计算机展望

    计算机的发展历史和发展趋势_对未来计算机展望论计算机发展史及展望(3页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9积分论计算机发展史及展望杨露斯黎炼四川大学,成都双流610207摘要:自从1945年世界上第一台电子计算机诞生以来,计算机技术迅猛发展,CPU的速度越来越快,体积越来越小,价格越来越低。未来光子、一轮趨级计算技术革命。关键词:计算机;发展史;前景展望中图分类号:G4文…

    2022年10月19日
    5
  • Intellij IDEA2021.1创建Java web项目(超详细)

    Intellij IDEA2021.1创建Java web项目(超详细)IntellijIDEA2021.1点击next填写项目的名称以及位置,finish右键项目,选择addframeworksupport完成之后,项目结构变成了这样接下来,我们在WEB-INF下创建classes,lib文件夹编辑项目结构将outputpath的路径改成classes文件夹的路径接下来点击dependencies,选择加号,选择jarsordirectories点击后,他会弹出一个文件选择框,这里选择lib文件所在位置,之后按照下面这张图

    2022年8月25日
    12
  • datagrip在线激活码[免费获取]

    (datagrip在线激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    280
  • 安卓handler源码(androidstudio源码)

    Android多线程还有HandleThread,看名字就可以能感觉到得到,会是handler和Thread的综合使用。那到底什么怎么样的呢,就跟随Android的源码来看看他的工作原理是什么样的。我们先看看他的类注解:先看看官方对他的介绍:【Handyclassforstartinganewthreadthathasalooper.Theloopercanth…

    2022年4月17日
    55
  • SPI的原理_托里拆利实验原理讲解

    SPI的原理_托里拆利实验原理讲解什么是SPISPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字…

    2022年10月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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