前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s1.5.2的安装

k8s1.5.2的安装

作者头像
孙杰
发布2019-10-29 14:30:13
5890
发布2019-10-29 14:30:13
举报
文章被收录于专栏:云技术+云运维云技术+云运维

一、环境要求

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-p_w_picpath=docker.io/kubernetes/pause:2.0"

KUBELET_ARGS=""

其实注意KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-p_w_picpath=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里有)

修改如下字段:

p_w_picpath: 192.168.206.129/kube/k8s-dashboard:1.6.0

p_w_picpathPullPolicy: 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的界面

wKiom1muXh2hzVkPAADWvlulQ7M527.png-wh_50
wKiom1muXh2hzVkPAADWvlulQ7M527.png-wh_50

补充:其实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集群非常简单方便,部署过程与之类似。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档