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


相关推荐

  • maven配置环境变量

    maven配置环境变量1.下载和安装官网地址:https://maven.apache.org/download.cgi下载后解压即可使用(注意3.3以上的版本对应jdk1.7或者jdk1.8)选用Binaryziparchive目录如下:2.配置环境变量右键电脑》属性》高级系统设置点击环境变量2.1MAVEN_HOME变量点击系统变量中的新建按钮新建系统变量MAVEN_HOME变量值:D:\apache-maven-3.8.2…

    2022年7月25日
  • linux安装python虚拟环境_windows安装python虚拟环境

    linux安装python虚拟环境_windows安装python虚拟环境准备1、使用wget命令下载安装包,耐心等待下载。安装步骤1、安装gcc2、安装readline3、把tgz文件进行解压4、切换到python目录5、解决PIP包管理器所需依赖包。6、安装文件7、开始编译安装,自定义安装目录。8、修改系统内置Python软链接。9、针对Centos系统的一些问题Centos的包资源管理器是yum,由于该管理器是由Python语言实现的,故依赖于系统安装Python…

    2022年8月28日
  • vim 撤销 回退操作[通俗易懂]

    vim 撤销 回退操作[通俗易懂]打个广告,请有意向加入腾讯的前端,将简历发送至mzxbupt@gmail.com在vi中按u可以撤销一次操作u  撤销上一步的操作Ctrl+r恢复上一步被撤销的操作注意:如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。重做如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要

    2022年10月23日
  • 硬阈值(Hard Thresholding)函数解读[通俗易懂]

    硬阈值(Hard Thresholding)函数解读[通俗易懂]题目:硬阈值(HardThresholding)函数解读1、硬阈值(HardThresholding)函数的符号    硬阈值(HardThresholding)并没有软阈值(SoftThresholding)那么常见,这可能是因为硬阈值解决的问题是非凸的原因吧。硬阈值与软阈值由同一篇文献提出,硬阈值公式参见文献【1】的式(11):     第一次邂逅硬阈值

    2022年6月12日
  • native2ascii没有找到_ascii数字转换

    native2ascii没有找到_ascii数字转换native2ascii是sunjavasdk提供的一个转码工具,用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。1.如何获取native2ascii.exe?安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录, 该目录下就有我们所需要的nativ

    2022年9月3日
  • 搭建自己的Android浏览器(一)[通俗易懂]

    搭建自己的Android浏览器(一)[通俗易懂]搭建自己的Android浏览器(一)最近尝试Android端开发,想开发一个自己的Android浏览器,根据自己的想法个性化定制,开博客用于记录和分享。Android开发环境搭建浏览器设想

    2022年5月14日

发表回复

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

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