码迷,mamicode.com
首页 > 其他好文 > 详细

k8s1.5.2的安装

时间:2017-09-06 00:24:10      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:安装   k8s   

一、环境要求

1、linux 内核3.10以上

2、64位系统

3、内存4G

4、安装docker


设定集群

master = 192.168.206.130

minion1 = 192.168.206.131

minion2 = 192.168.206.132


二、安装master

yum install -y kubernetes etcd flannel


三、修改/etc/kubernetes/apiserver

KUBE_API_ADDRESS="--insecure-bind-address=172.16.138.101" 也可改成0.0.0.0比较危险

KUBE_ADMISSION_CONTROL 字段中去掉ServiceAccount  不要这个准入机制


配置文件

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"

KUBE_LOG_LEVEL="--v=0"

KUBE_ALLOW_PRIV="--allow-privileged=false"

KUBE_MASTER="--master=http://master:8080"  (也可写成IP)

修改/etc/hosts

192.168.206.130 master

192.168.206.131 node01

192.168.206.132 node02


六、配置etcd

在master:

vim /etc/etcd/etcd.conf

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"  (自己的指定ip也可)

ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"


vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--insecure-bind-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=""


七、注册FLANNEL 

在master:

service etcd start

etcdctl mkdir /kube-centos/network

etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"

172.30是自己定义的B类的,后面它自己会分配C类的地址,以172.30开头

配置flannel

vim /etc/sysconfig/flanneld

FLANNEL_ETCD="http://master:2379"

FLANNEL_ETCD_KEY="/kube-centos/network"

FLANNEL_OPTIONS=""


注:#FLANNEL_ETCD_PREFIX="/atomic.io/network" 这句注释掉,用这句

FLANNEL_ETCD_KEY="/kube-centos/network"



五、关闭所有防火墙和selinux

systemctl disable iptables.services firewalld

systemctl stop iptables.services firewalld


重启服务:

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do

systemctl restart $SERVICES

systemctl enable $SERVICES

systemctl status $SERVICES

done


可选

kubectl config set-cluster default-cluster --server=http://master:8080

kubectl config set-context default-context --cluster=default-cluster --user=default-admin

kubectl config use-context default-context


二、配置节点

1、yum install -y kubernetes-node flannel


echo "

192.168.206.130master

192.168.206.131node01

192.168.206.132 node02" >> /etc/hosts


配置文件

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"

KUBE_LOG_LEVEL="--v=0"

KUBE_ALLOW_PRIV="--allow-privileged=false"

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


vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"

KUBELET_HOSTNAME="--hostname-override=minion2"

KUBELET_API_SERVER="--api-servers=http://master:8080"

#把pause地址改为自己下载的pause-amd64:3.0 在harbor中的地址

KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=docker.io/kubernetes/pause:2.0"

KUBELET_ARGS=""

其实注意KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=192.168.206.153/myproject/pause:2.0"


配置flannel

vim /etc/sysconfig/flanneld

FLANNEL_ETCD="http://master:2379"

FLANNEL_ETCD_KEY="/kube-centos/network"

FLANNEL_OPTIONS=""


重启相关服务

for SERVICES in kube-proxy kubelet flanneld docker; do

    systemctl restart $SERVICES

    systemctl enable $SERVICES

    systemctl status $SERVICES

done


看节点注册上来没有

kubectl get node

kubectl get node -w



三、配置DASHBOARD

注意所有master和node节点

/etc/sysconfig/docker

ADD_REGISTRY=‘--insecure-registry 192.168.206.129‘ (HABOR的地址)

下载yaml文件,文件位置/root/kubernetes-dashboard.yaml(在harbor里有)

修改如下字段:

image: 192.168.206.129/kube/k8s-dashboard:1.6.0

imagePullPolicy: IfNotPresent

- --apiserver-host=http://master:8080

安装资源 kubectl create -f kubernetes-dashboard.yaml

        获得状态kubectl get pod --namespace=kube-system

        查错:kubectl describe pod --namespace=kube-system (排错用)

成功后可看到K8S的界面

技术分享


补充:其实K8S的网络组件选择很多,默认是flannel,但可以根据自己的需要选择calico、weave、RR,calico性能最好,weave和flannel差不多。Addons中有配置好的yaml,部署环境使用的阿里云的VPC,官方提供的flannel.yaml创建的flannel网络有点小问题。

    还有kubeadm是Kubernetes官方推出的快速部署Kubernetes集群工具,其思路是将Kubernetes相关服务容器化(Kubernetes静态Pod)以简化部署。但kubeadm当前处于beta阶段,不建议生产环境使用(比如etcd单点)。使用kubeadm部署Kubernetes集群非常简单方便,部署过程与之类似。

本文出自 “滴水穿石孙杰” 博客,转载请与作者联系!

k8s1.5.2的安装

标签:安装   k8s   

原文地址:http://xjsunjie.blog.51cto.com/999372/1962860

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!