k8s1.5测试环境搭建

e7b0f080963a06aaa70d5a8419982b28588.jpg

 

centos7系统机器2台:

192.168.1.73: 用来安装kubernetes master

192.168.1.70: 用作kubernetes minion (minion1)

 

一、准备:

1、关闭 selinux

2、防火墙设置

1)关闭防火墙

firewalls或者iptables

2)设置防火墙

敲黑板:由于linux还有底层的iptables,因此即使关闭了防火墙跨主机间容器、pod始终无法ping通。

# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -F
# iptables -L -n

二、master端安装

1、安装:

# yum -y install etcd kubernetes

2、配置

1)配置 etcd

说明:该服务使所有docker处于同一网络当中。后面会被运行在node上的flannel自动获取并用来设置docker的IP地址

⑴ etcd配置文件修改

 

# cat /etc/etcd/etcd.conf
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

⑵ 启动etcd

# systemctl start etcd.service

查看2380端口已启动

db8f5f0efea73669a9d6d6f7a05bd82d483.jpg

⑶ 设置etcd的虚拟网络

说明:金色部分是子网的前缀,后边所有node节点上flannel要使用这个网络

# etcdctl mk /hello.com/network/config '{"Network":"192.17.0.0/16"}'
{"Network":"192.17.0.0/16"}

验证查看:

# etcdctl get  /hello.com/network/config
{"Network":"192.17.0.0/16"}

2)配置k8s

说明:倒数第二行,删除ServiceAccount(否则后边无法查看pod),详解FAQ

 

# vim /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet_port=10250"
KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""

 

【FAQ】

解决 kubectl get pods时 No resources found.问题

● 描述

 

# kubectl get pods
No resources found.

● 解决

# vim  /etc/kubernetes/apiserver

admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"

 

说明:去掉红字部分

 

# service kube-apiserver restart

3、启动etcd, kube-apiserver,kube-controller-manager , kube-scheduler服务

 

# for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done

三、node节点配置

1、安装:

# yum -y install docker-engine flannel kubernetes

2、修改配置文件

1)配置跨主机网络

敲黑板:子网的前缀(hello.com)一定要和前边设置的一样,千万别写错了

 

# vim /etc/sysconfig/flanneld

FLANNEL_ETCD="http://192.168.1.73:2379"

FLANNEL_ETCD_PREFIX="/hello.com/network"

 

2)k8s配置文件

# vim /etc/kubernetes/config

KUBE_MASTER="--master=http://192.168.1.73:8080"

 

 

# vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"

KUBELET_PORT="--port=10250"

KUBELET_HOSTNAME="--hostname_override=建议monitor的ip地址"

KUBELET_API_SERVER="--api_servers=http://192.168.1.73:8080"

KUBELET_ARGS="--cluster-dns=192.168.1.73 --cluster-domain=playcrab-inc.com"

 

2、启动准备(如果启动过docker注意一下,如果没有可以忽略)

# ifconfig

docker0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx7

inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0

。。。。。。。。。。。。。。。。。。

可以看见有docker0,启动前把docker0的配置删掉

# ip link delete docker0

再查看一次,会发现docker0没有了。

 

3、启动服务器

# for SERVICES in kube-proxy kubelet docker flanneld; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done

四、验证(master端)

1、查看node节点

# kubectl get nodes

689b5dcfd848e1f9eca344177f5f4100ea0.jpg

说明:127.0.0.1那个是前边配置错了没有删除。

 

2、查看集群网络

1)【master】

物理机的网络

 

ff94aa97f9be632ff64132e45a577f9d081.jpg

k8s的网络

c28b34d6d7acec31fdd51ebf527742ec7ff.jpg

2、【node】

3118ccfaed62e58e539c75fd6a750274b14.jpg

五、操作

1、删除节点

 

语法: kubectl delete node 节点名

 

# kubectl delete node 127.0.0.1
node "127.0.0.1" deleted

c2870ec8569a35a0373444e162884bfa34f.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/weige1840/blog/2878832

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值