首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【kubernetes集群系列(一)】Master安装(使用kubeadm)

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

作者头像
全栈程序员站长
发布2021-05-19 15:58:57
发布2021-05-19 15:58:57
5840
举报

1.检查centos发行版

查看centos版本

代码语言:javascript
复制
cat /etc/redhad-release

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

代码语言:javascript
复制
yum update -y kernel
rpm -q kernel
yum update

2.安装kubernetes准备工作

  • 安装docker
代码语言:javascript
复制
# 添加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不下来

代码语言:javascript
复制
{
   
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
	"https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

添加到开机启动

代码语言:javascript
复制
sudo systemctl start docker
sudo systemctl enable docker
  • 安装kubernetes
代码语言:javascript
复制
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
代码语言:javascript
复制
 swapoff -a && sed -i '/swap/d' /etc/fstab
  • 设置iptable
代码语言: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

3.使用kubeadm安装单机集群

  • 配置使用参数
代码语言:javascript
复制
#本机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
  • 执行安装
代码语言:javascript
复制
 curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.2

卸载与重装

  • 如果安装失败需要重置:
代码语言:javascript
复制
kubeadm reset -f
  • 删除k8s
代码语言:javascript
复制
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

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

代码语言:javascript
复制
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.cn/100381.html原文链接:

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.检查centos发行版
  • 2.安装kubernetes准备工作
  • 3.使用kubeadm安装单机集群
  • 卸载与重装
  • 4.提升效率
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档