k8s安装

k8s安装

安装方式

kubeadm方式

环境准备

三台centos7.9

ip配置名称
192.168.10.2002-4-50k8s-master
192.168.10.2011-2-50node01
192.168.10.2021-2-50node02

每台机器的前置准备

  • 配置host文件
  • 禁用防火墙
  • 禁用selinux
  • 禁用swap分区
  • 修改linux内核参数
  • 配置ipvs功能
  • 时间同步

脚本内容如下, 执行时需要 加上 主机名

#!/bin/bash
#设置需要修改的主机名
name=$1
echo "修改后的名称:$1"
#获取名称
echo "mingzi:$name"
if [ -z $name ];
	then
	  echo "请输入你的主机名称"
	  exit -1
fi
#获取本机的IP地址
ip=`ip a | grep ens33 | grep inet | awk '{print $2}' |sed 's/\/.*//'`
#追加到hosts
echo "$ip  $name" >> /etc/hosts
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#禁用selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
#禁用swap分区
sed -ri 's/.*swap.*/#&/' /etc/fstab
#修改linux内核参数
echo "net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1" >> /etc/sysctl.d/kubernetes.conf
#重新加载配置
sysctl -p
#加载网桥过滤模块
modprobe br_netfilter
#查看网桥过滤模块是否加载成功
lsmod|grep br_netfilter
#配置ipvs功能
yum -y install ipset ipvsadm
#添加需要加载的模块,写入到脚本文件中
echo "#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4" >> /etc/sysconfig/modules/ipvs.modules
#增加可执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules
#执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules
#查询对应模块是否加载成功
lsmod |grep -e ip_vs -e nf_conntrack_ipv4
#时间同步
yum install ntpdate -y
ntpdate ntp3.aliyun.com
#重启
reboot


配置host解析让三台可以互相访问

192.168.10.200  k8s-master
192.168.10.201  node1
192.168.10.202  node2

每台机器安装docker

vim docker-install.sh

#!/bin/bash

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装最新版本
sudo yum install -y docker-ce docker-ce-cli containerd.io

systemctl enable docker --now

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"500m",
        "max-file":"3"
    },
    "exec-opts":[
        "native.cgroupdriver=systemd"
    ],
    "registry-mirrors":[
        "https://kfwkfulq.mirror.aliyuncs.com",
        "https://2lqq34jg.mirror.aliyuncs.com",
        "https://pee6w651.mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://39dvdikp.mirror.aliyuncs.com"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker


每台机器安装kubeadm,kubelet,kubectl

vim kubectl-install.sh

#!/bin/bash
#添加kubernetes软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
#安装kubeadm,kubelet和kubectl
yum install -y kubelet-1.23.8 kubeadm-1.23.8 kubectl-1.23.8
#设置开机启动
systemctl enable kubelet

查看版本

kubectl version

kubeadm初始化master节点

替换 apiserver-advertise-address 为你的master对应ip

kubeadm init \
--apiserver-advertise-address=192.168.10.200 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.8 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all  \
--v=6

执行以后效果如下所示
在这里插入图片描述
按照提示进行命令输入

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

工作节点执行如下命令

kubeadm join 192.168.10.200:6443 --token hoep4w.1cfsjsqehktv83gk \
	--discovery-token-ca-cert-hash sha256:9d11b404dec2b621ab0238819c415a5a2a5ca5b0db891e8c06f19b4676a6e508

查看结果

kubectl get node

效果如下所示

在这里插入图片描述

安装网络组件

这里需要等待一段时间

kubectl apply -f https://docs.projectcalico.org/v3.23/manifests/calico.yaml

测试

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort



  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让美好继续发生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值