2022-06-18: k8s集群搭建

 #Vagrantfile  创建三个虚拟机
 Vagrant.configure("2") do |config|
	(1..3).each do |i|
		config.vm.define "k8s-node#{i}" do |node|
			#设置虚拟机的Box
			node.vm.box="centos/7"
			
			#设置虚拟机的主机名
			node.vm.hostname="k8s-node#{i}"
			
			#设置虚拟机的IP
			node.vm.network "private_network", ip:"192.168.56.#{99+i}", netmask:"255.255.255.0"
			
			#设置主机与虚拟机的共享目录
			# node.vm.synced folder "~/Documents/vaqrant/share", "/home/vagrant/share"
			
			# VirtaulBox相关配置
			node.vm.provider "virtualbox" do |v|
				# 设置虚拟机的名称
				v.name = "k8s-node#{i}"
				#设置虚拟机的内存大小 
				v.memory = 4096
				#设置虚拟机的CPU个数 
				v.cpus=4 
			end 
		end
	end 
end

#开启密码访问
vagrant ssh k8s-node1
vi /etc/ssh/sshd_config
PasswordAuthentication yes
#重启
service sshd restart

#设置网络 虚拟机网络设置成 NAT网络 然后重新生成mac码

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

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

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

#添加主机名 与ip的对应关系
vi /etc/hosts
10.0.2.4 k8s-node1
10.0.2.5 k8s-node2
10.0.2.15 k8s-node3

#将桥接的IPv4 流量传递到iptalbes的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

#安装docker

#添加阿里云yum源
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.17.3 kubeadm-1.17.3 kubectl-1.17.3

#设置开机启动
systemctl enable kubelet


#master节点初始化  mater_images.sh
#!/bin/bash

images=(
	kube-apiserver:v1.17.3
	kube-proxy:v1.17.3
	kube-controller-manager:v1.17.3
	kube-scheduler:v1.17.3
	coredns:1.6.5
	etcd:3.4.3-0
	pause:3.1
)

for imageName in ${images[@]} ; do
	docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
	#docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done

#更改执行权限
chmod 700 master_images.sh

kubeadm init \
--apiserver-advertise-address=10.0.2.4 \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--kubernetes-version v1.17.3 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16


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

#安装pod网络插件
kubectl apply -f  kube-flannel.yml

#获取当前所有pods
kubectl get pods --all-namespaces

#获取k8s所有结点
kubectl get nodes


#加入master
kubeadm join 10.0.2.4:6443 --token 2kurco.hc0tutdrewpje48m \
    --discovery-token-ca-cert-hash sha256:2c870c901039547175535b133ada5aed86c4f74f28e1d1c3c0b524b1f280a989 

#监控pod
kubectl get pod -n kube-system -o wide

#token过期
kubeadm token create --ttl 0 --print-join-command

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值