k8s安装部署
规划:
master: 192.168.75.122
node1: 192.168.75.123
etcd: 192.168.75.124
etcd安装:
yum install etcd -y
/etc/etcd/etcd.conf配置:
cd /etc/etcd/
cp etcd.conf etcd.conf.bak
sed -i -e '/#/d' -e '/^$/d' etcd.conf
修改内容如下:
[root@localhost ~]# ls /etc/etcd/
etcd.conf
[root@localhost ~]# cd /etc/etcd/
[root@localhost etcd]# cp etcd.conf etcd.conf.bak
[root@localhost etcd]# sed -i -e '/#/d' -e '/^$/d' etcd.conf
[root@localhost etcd]# vim etcd.conf
修改为如下内容:
[root@localhost etcd]# cat etcd.conf
ETCD_DATA_DIR="/datas/etcd/"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="default"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.75.124:2379"
mkdir -p /datas/etcd>
chown etcd.etcd -R /datas/etcd/
systemctl start etcd
master安装:
yum install kubernetes-master flannel -y
[root@localhost ~]# ll /etc/kubernetes/
总用量 16
-rw-r--r-- 1 root root 767 7月 3 2017 apiserver
-rw-r--r-- 1 root root 655 7月 3 2017 config
-rw-r--r-- 1 root root 189 7月 3 2017 controller-manager
-rw-r--r-- 1 root root 111 7月 3 2017 scheduler
修改/etc/kubernetes/config配置:
KUBE_MASTER="--master=http://192.168.75.122:8080"
修改/etc/kubernetes/apiserver配置:
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.75.124:2379"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
修改/etc/sysconfig/flanneld配置:
etcd节点创建:
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
[root@localhost etcd]# systemctl restart etcd
master节点上启动flanneld
systemctl start flanneld
node节点:
yum install kubernetes-node docker flannel -y
修改/etc/kubernetes/config配置:
KUBE_MASTER="--master=http://192.168.75.122:8080"
修改/etc/kubernetes/kubelet配置:
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname-override=192.168.75.123"
KUBELET_API_SERVER="--api-servers=http://192.168.75.122:8080"
修改/etc/sysconfig/flanneld配置:
FLANNEL_ETCD_ENDPOINTS="http://192.168.75.124:2379"
systemctl start kube-proxy
systemctl start kubelet
systemctl start flanneld
systemctl start docker
docker0网络归属于flannel0地址段;
重启一下docker
master能够ping通172.17.44.1(docker0)地址:
在master和node节点上都执行一下:
[root@localhost ~]# iptables -P FORWARD ACCEPT
验证:
master:
kubectl get nodes
Kubernetes Dashboard UI部署:
node节点上传两个镜像:
pod-infrastructure.tgz导入docker:
[root@localhost ~]# docker load < pod-infrastructure.tgz
修改镜像tag标签:
docker tag $(docker images|grep none|awk '{print $3}') registry.access.redhat.com/rhel7/pod-infrastructure
kubernetes-dashboard-amd64.tgz导入docker:
[root@localhost ~]# docker load < kubernetes-dashboard-amd64.tgz
修改镜像tag标签:
docker tag $(docker images|grep none|awk '{print $3}') bestwu/kubernetes-dashboard-amd64:v1.6.3
master端上传两个yaml :
修改dashboard-controller.yaml文件:
创建dashboard dashborad pods模块:
[root@localhost ~]# kubectl create -f dashboard-controller.yaml
deployment "kubernetes-dashboard" created
[root@localhost ~]# kubectl create -f dashboard-service.yaml
service "kubernetes-dashboard" created
创建完成后,查看Pods和Service的详细信息:
[root@localhost ~]# kubectl get -n kube-system pods
浏览器:
http://192.168.75.122:8080
http://192.168.75.122:8080/ui

浙公网安备 33010602011771号