【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【机器学习笔记】有监督学习和无监督学习

    【机器学习笔记】有监督学习和无监督学习有监督学习和无监督学习(一)有监督学习(二)无监督学习(三)二者的区别(四)如何在两者中选择合适的方法(一)有监督学习概念:通过已有的训练样本去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现预测和分类的目的,也就具有了对未知数据进行预测和分类的能力。简单来说,就像有标准答案的练习题,然后再去考试,相比没有答案的练习题然后去考试准确率更高。监督学…

    2022年5月28日
    48
  • 网络协议的三要素是什么?各有什么含义?_网络协议三要素中语法规定了

    网络协议的三要素是什么?各有什么含义?_网络协议三要素中语法规定了网络协议的三要素是什么?1、语法语法用来规定信息格式。数据及控制信息的格式、编码及信号电平等。2、语义语义用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。3、定时定时(时序)定义

    2022年8月4日
    3
  • php 正则表达式怎么匹配标签里面的style?

    php 正则表达式怎么匹配标签里面的style?

    2021年10月15日
    68
  • ubuntu安装vscode的两种方法

    ubuntu安装vscode的两种方法方法一:依次输入如下命令1、sudoadd-apt-repositoryppa:ubuntu-desktop/ubuntu-make2、sudoapt-getupdate3、sudoapt-getinstallubuntu-make4、umakeidevisual-studio-code提示输入a即可方法二:在windows系统下载安装包,再使用共享文件夹…

    2022年9月18日
    0
  • Android学习路线指南

    Android学习路线指南前言看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下Android的学习路线,期望可以帮助更多的…

    2022年6月11日
    35
  • 无锁编程入门「建议收藏」

    无锁编程入门「建议收藏」无锁编程入门本文档的最后也说了,确实是简单介绍,本身需要参考很多其他链接的东西。有翻译不对的地方请帮忙指出来。谢谢。文章中红色字体是我自己加的。原文地址:http://preshing.com/20120612/an-introduction-to-lock-free-programming无锁编程是一个挑战,不只是因为任务本身的复杂度,还由于《 butbecauseo

    2022年6月6日
    27

发表回复

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

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