公网 centos不同网段部署k8s,不成功过来打屎我

环境准备

1.服务器 三台2cpu 2g以上
	1.centos7.6 ip:140.210.223.234 	配置:4c8g 	hostname:master
	2.centos7.6 ip:81.71.22.129 		配置:2c2g	hostname:node1
	3.centos7.6 ip:1.12.50.11			配置:2c2g	hostname:node2
2.服务器环境
	1.docker 必须 19.03 以上
	2.kubectl,kubelet ,kubeadm  必须 1.13.0 以上

第一步、所有得服务器得安装依赖

复制粘贴即可

yum -y update
yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

docker安装所有的服务器都要

复制粘贴即可

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #设置镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://nmxk8hna.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload 	
yum install -y docker-ce-19.03.14 docker-ce-cli-19.03.14 #推荐19.03安装
sudo systemctl start docker && sudo systemctl enable docker #启动并设置为开机自启

docker ps -a 查看是否在运行

安装kubectl,kubelet ,kubeadm 所有的服务器都要

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

docker 配置文件修改

vim /etc/docker/daemon.json
#删除以前所有内容,把这两个复制上去。保存退出
{
  "registry-mirrors": ["https://nmxk8hna.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
#最后重启docker
systemctl restart docker

服务器的端口开放

千万不要关闭防火墙,千万不要关闭防火墙,千万不要关闭防火墙。

1.master服务器的端口开放
	644363792379-23808472102501025710259
2.所有node服务器的端口开放
	84721025030000-32767

所有服务器的基础的配置

# 关闭selinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 关闭swap
swapoff -a
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
# 配置iptables的ACCEPT规则
iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT
# 将桥接的IPv4流量传递到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

每一个服务器的hostname设置

1.ip:140.210.223.234 		linux命令: hostnamectl set-hostname master
2.ip:81.71.22.129 			linux命令:	hostnamectl set-hostname node1
3.ip:1.12.50.11			linux命令:	hostnamectl set-hostname node2

Master主节点hosts设置

cat >> /etc/hosts << EOF
140.210.223.234 master
81.71.22.129 node1
1.12.20.11 node2
EOF

Master主节点kubectl设置

kubeadm init \
  --apiserver-advertise-address=140.210.223.234 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=192.168.0.229/12 \
  --pod-network-cidr=10.244.0.0/16

apiserver-advertise-address 主节点ip
kubernetes-version k8s的版本
service-cidr 内网ip
pod-network-cidr 不用管照着填

这个时候一定会出现 Initial timeout 40s passed

把master新打开一个控制台
输入下面命令

vim /etc/kubernetes/manifests/etcd.yaml

vim /etc/kubernetes/manifests/etcd.yaml
修改成如下酱紫

成功之后

一串命令叫你使用 别复制我的,

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
#node执行命令
kubeadm join 140.210.223.234:6443 --token TOKE_NNAME  --discovery-token-ca-cert-hash sha256:TOKE_ID
#查看节点是否准备就绪
kubectl get nodes -o wide

这个时候还没有完成

最后部署CNI网络插件

curl https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml >>kube-flannel.yml
chmod 777 kube-flannel.yml 
kubectl apply -f kube-flannel.yml

#查看节点,
kubectl get nodes -o wide

在这里插入图片描述

卸载k8s

yum -y remove kubelet kubeadm kubectl
sudo kubeadm reset -f
sudo rm -rvf $HOME/.kube
sudo rm -rvf ~/.kube/
sudo rm -rvf /etc/kubernetes/
sudo rm -rvf /etc/systemd/system/kubelet.service.d
sudo rm -rvf /etc/systemd/system/kubelet.service
sudo rm -rvf /usr/bin/kube*
sudo rm -rvf /etc/cni
sudo rm -rvf /opt/cni
sudo rm -rvf /var/lib/etcd
sudo rm -rvf /var/etcd
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值