【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)
上一篇 2021年5月13日 下午6:00
下一篇 2021年5月13日 下午7:00


相关推荐

  • soapUI工具使用方法、简介、接口测试[通俗易懂]

    soapUI工具使用方法、简介、接口测试[通俗易懂]一、soapUI简介SOAP:   WebService通过Http协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息头的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用WebService。 SOAP协议 =HTTP协议 +XML数

    2022年6月17日
    49
  • String类型转Long类型

    String类型转Long类型开发中有遇到 Long 类型比较是否相等 比如 LongA 和 LongB 判断是否相等 当时习惯性的直接 A B nbsp nbsp 自测的话确实么有问题 但是测试那边测试就有问题 当时郁闷了一下然后换成了 A equals B 或 A longValue B longValue 都是正确的 nbsp nbsp 改完 bug 觉得需要看看是为什么 通过看 Long class 可以看出 nbsp nbsp 如果值在 128 127 之间

    2025年6月28日
    4
  • rdlc mysql_RDLC 报表开发

    rdlc mysql_RDLC 报表开发RDLC 报表开发打开 VisualStudio 新建 ASP NET 网站添加数据集会自动调出数据集配置窗口 TableAdapter 如果上面的窗口没有自动调出 可以如下图 可以调出上面的 TableAdapter 窗口新建立数据库连接下面的这一步会将数据库连接保存到 config 文件中下面的这一步可以 选择生成 SQL 的方式让我们先回到 SQLServerQue 打开 SQLSe

    2026年3月16日
    2
  • 深入Redis客户端(redis客户端属性、redis缓冲区、关闭redis客户端)「建议收藏」

    深入Redis客户端(redis客户端属性、redis缓冲区、关闭redis客户端)「建议收藏」Redis数据库采用I/O多路复用技术实现文件事件处理器,服务器采用单线程单进程的方式来处理多个客户端发送过来的命令请求,它同时与多个客户端建立网络通信。服务器会为与它相连接的客户端创建相应的redis.h/redisClient结构,在这个结构中保存了当前客户端的相关属性及执行相关功能时的数据结构。I/O多路复用:linux有五类io模型1.阻塞2.非阻塞3…

    2022年6月10日
    30
  • java嵌套条件运算符_java条件运算符的嵌套使用「建议收藏」

    java嵌套条件运算符_java条件运算符的嵌套使用「建议收藏」对于java条件运算符的嵌套使用你熟悉吗?下面要给大家带来的就是和这方面有关的编程题,一起来了解一下。一、题目学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示注:利用条件运算符的嵌套来完成这道题目二、思路(a>b)?a:b这是条件运算符的基本例子三、代码实现publicclassProg5{publicstaticvoidmain(Strin…

    2026年4月17日
    9
  • Ubuntu卸载java

    Ubuntu卸载java先检查是否安装 dpkglist grep ijdk 移除 openjdk 包 apt getpurgeopen 卸载 OpenJDK 相关包 apt getpurgeiced openjdk 再次检查是否卸载成功 dpkglist grep ijdk

    2026年3月18日
    2

发表回复

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

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