【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门

架构描述:

主机名 ip地址 角色
master1 192.168.1.5 master,node
worker1 192.168.1.6 node
worker2 192.168.1.7 node

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第1张图片

 为此需要准备三个虚拟机,并配置静态ip,可参照以下两个传送门

k8s集群部署之主机准备

k8s集群部署之主机设置


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

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第2张图片


所有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

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第3张图片

 查看worker1节点中的ifconfig

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第4张图片 

 查看worker2节点中的ifconfig

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第5张图片


 nodes节点中容器通信验证

 分别在三个节点中拉取镜像并新建容器

docker pull busybox
docker run -it busybox

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第6张图片

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第7张图片 

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第8张图片 

分别在各个Node中ping另外两个node中的ip,经测试都可以ping通,说明node节点间通信成功。

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第9张图片 


题外篇

        想要让三个node中的节点通信成功,要保证每个iptables -L

        中的Chain FORWARD (policy ACCEPT)

【k8s的安装】 k8s集群master和node节点的安装——kubernetes从放弃到入门_第10张图片 

你可能感兴趣的:(K8S集群实战,kubernetes)