您的位置:首页 > 其它

kubeadm 安装 kubernetes

2018-06-09 22:56 741 查看

kubeadm 安装 kubernetes

全部服务器配置

IP 地址主机名操作系统内存swap硬盘Internetfirewalldselinux/etc/hosts 增加行
10.0.2.80master80CentOS74GB关闭20GB可达关闭关闭127.0.0.1 master80
10.0.2.81node81CentOS72GB关闭20GB可达关闭关闭127.0.0.1 node81
10.0.2.82node82CentOS72GB关闭20GB可达关闭关闭127.0.0.1 node82
确认各服务器工作网卡的 MAC 和 UUID 均不相同

#Ovirt 从模板创建虚拟机可忽略此步骤
#不确定时可参考如下命令
rm -rf /etc/udev/rules.d/70-*
sed -i -e '/HWADDR/d' -e '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-{eth,enp}*


配置好 IP,确认各服务器网络互连,且可连互联网

#10.0.2.80
sed -i 's/10.0.2.127/10.0.2.80/' /etc/sysconfig/network-scripts/ifcfg-eth0
#10.0.2.81
sed -i 's/10.0.2.127/10.0.2.81/' /etc/sysconfig/network-scripts/ifcfg-eth0
#10.0.2.82
sed -i 's/10.0.2.127/10.0.2.82/' /etc/sysconfig/network-scripts/ifcfg-eth0


关闭各服务器的防火墙

systemctl stop firewalld
systemctl disable firewalld


关闭各服务器的 selinux

setenforce 0
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config


关闭各服务器的 swap

swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab


安装 ebtables 和 ethtool

yum install ebtables ethtool


配置各服务器的 hostname

#10.0.2.80
hostnamectl set-hostname master80
echo '127.0.0.1 master80' >> /etc/hosts
#10.0.2.81
hostnamectl set-hostname node81
echo '127.0.0.1 node81' >> /etc/hosts
#10.0.2.82
hostnamectl set-hostname node82
echo '127.0.0.1 node82' >> /etc/hosts


重启各服务器

reboot


安装 docker

各服务器安装 docker

yum install docker


各服务器配置 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


各服务器配置 docker 本地仓库(可选)

cat <<EOF > /etc/docker/daemon.json
{
"insecure-registries":["10.0.16.125:5080"]
}
EOF


各服务器启动 docker

systemctl enable docker && systemctl start docker


安装 kubernetes

各服务器配置 kubernetes yum 源

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


各服务器安装 kubeadm

yum install -y kubelet kubeadm kubectl


各服务器启动 kubelet

systemctl enable kubelet && systemctl start kubelet


在 master80 服务器上安装 kubernetes master 服务组件

初始化 kubeadm

kubeadm init --pod-network-cidr=192.168.0.0/16 --token-ttl 0
mkdir -p /root/.kube
cp -i /etc/kubernetes/admin.conf /root/.kube/config
#记录下输出的最后一行,类似如下
#kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>


安装 Calico 网络插件

kubectl apply -f http://docs.projectcalico.org/v2.4/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml


加入其他节点

在 node81 和 node82 服务器上执行以下命令,即 master80 服务器 'kuberadm init' 命令的最后一行输出

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>


在 master80 服务器查看节点和 pod 情况

kubectl get pods --all-namespaces
kubectl get nodes
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: