centos 集群

网络配置

首先要设置宿主机和虚拟机的静态 ip,并且要实现 3 个方向能够 ping 成功:
1 宿主机 ping 虚拟机
2 虚拟机1 ping 虚拟机 2
3 虚拟机 ping 因特网

根据我们要实现的目标我们可以使用 Bridged 方式设置一张网卡,或者使用 Host-only 和 NAT 方式设置两张网卡。

NAT

第一步:打开virtualbox -》 管理 -》 全局设定 -》 网络 -》 新建一个网卡(默认名称为NATNetwork)
-》 双击NATNetwork网卡 -》启用网络 -》 网络CIDR : 192.168.100.0/24(这个网段看情况配置就好,不强求一模一样) -》 仅勾上 支持DHCP

第二步:打开virtualbox -》 设置 -》 网络 -》 网卡1 选择NAT 网络 -》 界面名称选择:NATNetwork
-》网卡2选择 仅主机(Host-Only)网络 -》 界面名称选择 : Virtualbox Host-Only Ethernet Adapter

host-only(用于ssh)

第一步:打开virtualbox -》 管理 -》 主机网络管理器 -》 选择手动配置网卡 -》 IPv4地址: 192.168.56.1(IP地址随意,不必与我一样)-》 IPv4网络掩码:255.255.255.0 -》

第二步:选择DHCP服务器 -》 启动服务器 -》 服务器地址 192.168.56.66(随便啦,与上面的192.168.56.1同一个网段就好)-》服务器掩码 255.255.255.0 -》 最小地址 192.168.56.67 -》 最大地址 192.168.56.254

第三步:配置网卡1,即host-only,我的宿主系统是win10,在win10里,找到对应的Virtualbox Host-Only Ethernet Adapter网卡,使用以下IP地址:192.168.56.1(没错,这就是第二部分第一步里的那个地址) -》 子网掩码255.255.255.0,其它的不管,空着就好。

第四步: 进入虚拟机,vi /etc/sysconfig/network-scripts/ifcfg-eth1
如下配置:
DEVICE=eth0 //不用管它
HWADDR=xxxxxxxxxxxxx //不用管它
UUID=xxxxx //不用管它
TYPE=xxxxx //不用管它
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.56.104
NETMASK=255.255.255.0

第五步:保存并退出vi模式 -》 service network restart -》

docker 和 k8s安装

docker

yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

列出版本号:

yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.06.1.ce

开机启动:

systemctl start docker
systemctl enable  docker

镜像加速:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    
    
  "registry-mirrors": ["https://ee4wixkc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

k8s

配置yum源:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装并开机自启

yum install -y kubelet-1.16.3-0 kubeadm-1.16.3-0 kubectl-1.16.3-0
systemctl enable kubelet && systemctl start kubelet

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

禁用SELINUX

# 临时禁用
setenforce 0
# 永久禁用 
vim /etc/selinux/config    # 或者修改/etc/sysconfig/selinux
SELINUX=disabled

修改k8s.conf文件

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

开启ipv4转发


vi /etc/sysctl.conf
内容如下:
net.ipv4.ip_forward = 1
刷新参数
sysctl -p

关闭swap

# 临时关闭
swapoff -a
修改 /etc/fstab 文件,注释掉 SWAP 的自动挂载(永久关闭swap,重启后生效)
# 注释掉以下字段
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

创建工作目录:

mkdir ~/k8s
cd ~/k8s

生成配置文件:

kubeadm config print init-defaults ClusterConfiguration > kubeadm.conf

修改文件kubeadm.conf中的IP地址

#修改IP地址为master节点的IP地址
localAPIEndpoint:
  advertiseAddress: 192.168.32.132
#配置pod地址
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12

拉镜像

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:


kubeadm join 192.168.1.2:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:e37c1aa69c99863dc5a37e6c3daf4b40dd1cd2f4ad77e7759bcbe5abc80899e8 

开机自启

sudo systemctl enable kubelet
sudo systemctl start kubelet

先配置内部通信 flannel 网络:

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
确保kubeadm.conf中的podsubnet的地址和kube-flannel.yml中的网络配置一样

加载配置

kubectl apply -f kube-flannel.yml

重启kubelet

systemctl restart kubelet

把配置文件从master节点复制到node1和node2

scp /etc/kubernetes/admin.conf root@node1:/root/k8s/
scp /root/k8s/kube-flannel.yml ubuntu@node1:/root/k8s/

重复master的配置
并且输入

kubeadm join 192.168.1.2:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:e37c1aa69c99863dc5a37e6c3daf4b40dd1cd2f4ad77e7759bcbe5abc80899e8 

猜你喜欢

转载自blog.csdn.net/weixin_39849839/article/details/109519039