CentOS 7.9 安装 Kubernetes(k8s)

master 节点操作

添加 yum 代理

  1. 修改配置文件
echo "proxy=http://127.0.0.1:1080" >> /etc/yum.conf
  1. 清除缓存
yum clean all
rm -rf /var/cache/yum/*
  1. 缓存软件仓库
yum makecache

安装指定版本 docker

  1. 彻底卸载已安装的 docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
  1. 安装 yum 工具
yum install -y yum-utils
  1. 添加软件源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 docker 18.09.9
yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io

配置 docker

  1. 添加 docker 代理
mkdir -p /etc/systemd/system/docker.service.d
cat <<EOF > /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.99.1:5891/"
Environment="HTTPS_PROXY=http://192.168.99.1:5891/"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
  1. 修改 cgroup 驱动
cat <<EOF > /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF
  1. 重启 docker
systemctl daemon-reload
systemctl restart docker
  1. docker 开机自启
systemctl enable docker

安装指定版本 kubernetes

  1. 添加 k8s 软件源
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
  1. 安装 k8s 1.16.0
yum install kubelet-1.16.0 kubeadm-1.16.0 kubectl-1.16.0
  1. 下载 k8s 初始化镜像
kubeadm config images pull

配置 CentOS 7.9

  1. 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
  1. 关闭 selinux
setenforce 0  # 临时禁用
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux # 永久关闭
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config  # 永久关闭
  1. 禁用交换分区
swapoff -a  # 临时禁用
sed -i 's/.*swap.*/#&/' /etc/fstab # 永久关闭
  1. 将桥接的 IPV 4流量传递到 iptables 的链
cat <<EOF >  /etc/sysctl.d/k8s.conf  
net.bridge.bridge-nf-call-ip6tables = 1  
net.bridge.bridge-nf-call-iptables = 1  
EOF
sysctl --system
  1. 修改主机名
hostnamectl set-hostname master-node
  1. 添加域名解析
cat <<EOF >> /etc/hosts
192.168.99.120 master-node
192.168.99.121 worker-node
EOF
  1. 重启系统
reboot

node 节点操作

导入 master 虚拟机

  1. 导出 master 虚拟机

在这里插入图片描述

  1. 导入 master 虚拟机

在这里插入图片描述

  1. 修改虚拟机名称以及虚拟硬盘名称

在这里插入图片描述

配置 CentOS 7.9

  1. 修改主机名
hostnamectl set-hostname worker-node
  1. 重启系统
reboot

搭建 kubernetes 集群

master 节点初始化

  1. 初始化 k8s 配置文件
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address 192.168.99.120 --token-ttl 0

备注:192.168.99.120 为主节点的 ip 地址

  1. 创建用户配置文件
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
  1. 安装网络插件
kubectl apply -f kube-flannel.yml

网络插件下载链接:https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

  1. 查看网络插件运行状态
kubectl get pod -n kube-system
  1. 查看网络插件日志
kubectl -n kube-system logs kube-flannel-ds-9tfvb
  1. 查看网络插件详情
kubectl describe pod kube-flannel-ds-9tfvb -n kube-system
  1. 卸载网络插件
kubectl delete -f kube-flannel.yml
  1. 查看节点运行状态
kubectl get nodes
  1. 查看 k8s 运行日志
journalctl -f -u kubelet
  1. 重置 k8s 配置文件
kubeadm reset
  1. 添加 k8s 开机自启
systemctl enable kubelet

node 节点加入集群

  1. 查看 node 节点加入集群命令
kubeadm token create --print-join-command # 在 master 节点上执行
  1. node 节点加入 k8s 集群
kubeadm join 10.0.2.15:6443 --token 9wm86o.svulvu1fvyl46veq \
    --discovery-token-ca-cert-hash sha256:5eb17873ac7e4742a75ffae707c4b2eadf79f0e525bc9f8ff0cfe89856601022
  1. 查看 node 节点运行状态
kubectl get nodes # 在 master 节点上执行
  1. 添加 k8s 开机自启
systemctl enable kubelet

集群关闭

关闭 node 节点

  1. 查看 node 节点名称
kubectl get nodes
  1. 关闭 node 节点
kubectl drain worker-node
  1. node 节点关机
poweroff
  1. 开启 node 节点
kubectl uncordon worker-node

关闭 master 节点

  1. master 节点关机
poweroff
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值