大学生建设什么网站好,网站开发综合实训心得,wordpress cron,六安官网节点规划 本次选用一个master节点#xff0c;三个node节点来安装k8s集群。 节点IPM010.xx.xx.xxN010.xx.xx.xxN110.xx.xx.xxN210.xx.xx.xx集群启动前的准备(请用root用户执行) 节点准备工作(在每台机器上执行) 包括修改主机名#xff0c;关闭防火墙等操作。 k8s集群会… 节点规划 本次选用一个master节点三个node节点来安装k8s集群。 节点IPM010.xx.xx.xxN010.xx.xx.xxN110.xx.xx.xxN210.xx.xx.xx集群启动前的准备(请用root用户执行) 节点准备工作(在每台机器上执行) 包括修改主机名关闭防火墙等操作。 k8s集群会识别主机名字确保每个主机名设为不同值。 关闭防火墙是为了避免不必要的网络问题。 # ${hostname}变量请替换成规划的主机名比如M0, N0, N1sudo hostnamectl set-hostname ${hostname}
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i -re /^\s*SELINUX/s/^/#/ -e $i\\SELINUXdisabled /etc/selinux/config 然后建立ssh的相互连接方便后面传文件什么的。可以使用ssh-copy-id命令也可以自己添加认证。这个网上教程很多自己搜一下 安装docker(在每台机器上执行) yum install docker -y
systemctl enable docker systemctl start docker 安装kubeadm, kubelet, kubectl(每台机器上执行) kubeadm: 快速创建k8s集群的工具kubelet: k8s的基础组件负责对pod和container的创建和管理与k8s集群master建立联系kubectl: k8s的客户端工具用来像集群发送命名cat EOF /etc/yum.repos.d/kubernetes.repo
[kubernetes]
nameKubernetes
baseurlhttps://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled1
gpgcheck1
repo_gpgcheck1
gpgkeyhttps://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOFyum install -y kubelet kubeadm kubectl 官网文档上写一些用户在RHEL/Centos7系统上安装时由于iptables被绕过导致路由错误需要在 sysctl的config文件中将net.bridge.bridge-nf-call-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 启动kubelet: systemctl enable kubelet systemctl start kubelet 至此准备工作就做好了。目前每隔几秒kubelet就会重启直到收到kubeadm的命令。 所以用systemctl status kubelet看到kubelet没有启动是正常现象可以多执行几次查看就会发现kubelet处于不断停止和重启的状态. 使用kubeadm工具创建kubernetes集群 kubeadm是k8s官方提供的工具可以简单的创建一个安全可扩展的k8s集群。 在执行下面的操作之前请确保前面的准备工作已经做完。特别是kubelet已经安装和启动kubeadm已经安装完成 启动集群 启动master在master节点执行以下操作并导出KUBECONFIG配置文件到环境变量:记录下kubeadm init的输出信息后面将会用到 # --pod-network-cidr192.168.0.0/1参数是为了后面启动networ的Calico pod做准备kubeadm init --pod-network-cidr192.168.0.0/16
export KUBECONFIG/etc/kubernetes/admin.conf 安装启动一个network的pod,这里选用Calico.在启动任何pod之前必须先启动一个network的pod, 用于pod之间的通信 kubectl apply -f https://docs.projectcalico.org/v2.6/getting-
started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml 添加node节点到master(在每台node上执行以下命令)当执行玩kubeadm init后会输出以下信息直接复制执行就可以了 kubeadm join --token token master-ip:master-port --discovery-token-ca-cert-
hash sha256:hash 至此为止k8s集群就建好了可以在master节点输出kubectl get nodes查看 在非master节点管理集群(可选) 如果不执行这个操作只能在master节点来管理集群。 把master节点的admin.conf配置文件复制到nodes节点当中去就能在node节点来管理集群了。 scp /etc/kubernetes/admin.conf root10.5.30.82:/etc/kubernetes/
export KUBECONFIG/etc/kubernetes/admin.conf 将API服务代理到localhost(可选) 这个很好理解执行 kubectl --kubeconfig proxy命令也是要使用admin.conf的权限,直接复制官方文档: if you want to connect to the API Server from outside the cluster you can use kubectl proxy: scp rootmaster ip:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf proxy You can now access the API Server locally at http://localhost:8001/api/v1 删除集群 在我们安装k8s集群时可能会出现问题需要重新安装。 在我们重新执行安装步骤之前必须要先销毁我们建立好的k8s集群在master节点下执行以下命令。 # 先移除集群的node节点
kubectl drain node name --delete-local-data --force --ignore-daemonsets
kubectl delete node node name# 然后重置kubeadm状态
kubeadm reset 我完全按照官方文档安装执行没有遇到问题. 如果你在安装过程中遇到问题请参考下面官方的故障排除文档和安装文档。 故障排除:Troubleshooting Kubeadm 安装文档:Using kubeadm to create a cluster