【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门
架构描述:主机名ip地址角色master1192.168.1.5master,nodeworker1192.168.1.6nodeworker2192.168.1.7node为此需要准备三个虚拟机,并配置静态ip,可参照以下两个传送门k8s集群部署之主机准备k8s集群部署之主机设置master节点的安装一、安装etcd服务yum install etcd -y在/etc/etc..
架构描述:
主机名 ip地址 角色 master1 192.168.1.5 master,node worker1 192.168.1.6 node worker2 192.168.1.7 node
为此需要准备三个虚拟机,并配置静态ip,可参照以下两个传送门
master节点的安装
一、安装etcd服务
yum install etcd -y
在/etc/etcd/etcd.conf中修改以下两行
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.5:2379"
启动etcd服务
systemctl start etcd.service
systemctl enable etcd.service
二、安装kubernetes master节点
yum install kubernetes-master.x86_64 -y
在/etc/kubernetes/apiserver中修改
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.1.5:2379"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
在/etc/kubernetes/config中修改
KUBE_MASTER="--master=http://192.168.1.5:8080"
启动服务
systemctl start kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl start kube-scheduler.service
systemctl enable kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl enable kube-scheduler.service
验证服务,安装master节点成功。
kubectl get componentstatus
安装node节点
需要在三个虚拟机上分别装node节点,示例在第一台
yum install kubernetes-node.x86_64 -y
在/etc/kubernetes/kubelet中修改
KUBELET_ADDRESS="--address=192.168.1.5"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=master1"
KUBELET_API_SERVER="--api-servers=http://192.168.1.5:8080"
启动服务
systemctl start kubelet.service
systemctl start kube-proxy.service
systemctl enable kubelet.service
systemctl enable kube-proxy.service
在另外两台机器上按同样方法修改,并做相应配置
在master节点中验证是否能够get到nodes,结果验证成功,可以搜索到三个node。
解决kubectl get pods时 No resources found.问题
kubectl get nodes
所有node节点配置flannel网络插件
yum install flannel -y
在vi /etc/sysconfig/flanneld中修改
FLANNEL_ETCD_ENDPOINTS="http://192.168.1.5:2379"
并在master主机中执行etcdctl set /atomic.io/network/config '{"Network":"172.16.0.0/16"}'
启动服务并重新docker
systemctl start flanneld.service
systemctl enable flanneld.service
查看master主机中的ifconfig
查看worker1节点中的ifconfig
查看worker2节点中的ifconfig
nodes节点中容器通信验证
分别在三个节点中拉取镜像并新建容器
docker pull busybox
docker run -it busybox
分别在各个Node中ping另外两个node中的ip,经测试都可以ping通,说明node节点间通信成功。
题外篇
想要让三个node中的节点通信成功,要保证每个iptables -L
中的Chain FORWARD (policy ACCEPT)
更多推荐
所有评论(0)