k8s 快速安装

k8s 快速安装 一主两从

  • 修改主机名
# master
hostnamectl   set-hostname  k8s-master
# node1
hostnamectl   set-hostname k8s-node1
# node2
hostnamectl   set-hostname k8s-node2
  • 域名解析 所有节点都有
vim /etc/hosts

192.168.1.100    k8s-master
192.168.1.101    k8s-node1
192.168.1.102    k8s-node2

初始化系统 所有节点都执行

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 时间对时
yum install ntpdate -y
ntpdate time.windows.com

#关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

#关闭 swap 分区
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a



#在每个节点上将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF

# 加载br_netfilter模块
modprobe br_netfilter


# 查看是否加载
lsmod | grep br_netfilter


# 生效
sysctl --system


# 在kubernetes中service有两种代理模型,一种是基于iptables,另一种是基于ipvs的。ipvs的性能要高于iptables的,但是如果要使用它,需要手动载入ipvs模块

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

# 授权、运行、检查是否加载:
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4


# 检查是否加载
lsmod | grep -e ipvs -e nf_conntrack_ipv4


#重启
reboot

每个节点安装Docker、kubeadm、kubelet和kubectl

安装docker

# yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum -y install docker-ce
systemctl enable docker && systemctl start docker

# 设置Docker镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "exec-opts": ["native.cgroupdriver=systemd"],	
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],	
  "live-restore": true,
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

添加阿里云的YUM软件源

  • 由于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.5 kubeadm-1.23.5 kubectl-1.23.5
  • 为了实现Docker使用的cgroup drvier和kubelet使用的cgroup drver一致,建议修改"/etc/sysconfig/kubelet"文件的内容:
vim /etc/sysconfig/kubelet
# 修改
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"
  • 设置为开机自启动即可,由于没有生成配置文件,集群初始化后自动启动
systemctl enable kubelet

初始化集群

  • 部署k8s的Master节点(192.168.18.100):
  • 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里需要指定阿里云镜像仓库地址
kubeadm init \
  --apiserver-advertise-address=192.168.1.00 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.5 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16
  • 根据提示消息,在Master节点上使用kubectl工具:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署k8s的Node节点

  • 在node节点执行
kubeadm join 192.168.1.100:6443 --token jv039y.bh8yetcpo6zeqfyj \
    --discovery-token-ca-cert-hash sha256:3c81e535fd4f8ff1752617d7a2d56c3b23779cf9545e530828c0ff6b507e0e26

安装网络插件

kubernetes支持多种网络插件,比如flannel、calico、canal等,如果网络不行,可以使用本人提供的安装calico,推荐安装calico。
点击这里下载yaml文件

kubectl apply -f calico.yaml
  • 查看安装进度
kubectl get pods -n kube-system
  • 安装完 可以查看 集群状态 Ready 状态
kubectl get nodes 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值