使用kubeadm安装kubernetes v1.14.1

一、环境准备

操作系统:Centos 7.5

​ ⼀ 一台或多台运⾏行行着下列列系统的机器器:

​ Ubuntu 16.04+

​ Debian 9

​ CentOS 7

​ RHEL 7

​ Fedora 25/26 (尽⼒力力服务)

​ HypriotOS v1.0.1+

​ Container Linux (针对1800.6.0 版本测试)

​ 每台机器器 2 GB 或更更多的 RAM (如果少于这个数字将会影响您应⽤用的运⾏行行内存)2 CPU 核⼼心或更更多

​ 集群中的所有机器器的⽹网络彼此均能相互连接(公⽹网和内⽹网都可以)节点之中不不可以有重复的主机名,MAC 地址,product_uuid。更更多详细信息请参⻅见这⾥里里 。

​ 开启主机上的⼀一些特定端口. 更更多详细信息请参⻅见这⾥里里。

​ 禁⽤用 Swap 交换分区。为了了保证 kubelet 正确运⾏行行,必须 禁⽤用交换分区。

二、安装步骤

  1. 定义hostname

    hostname k8s-master
  2. 编辑 /etc/hosts

    vi /etc/hosts
    
    #当然我们在这⾥里里根据实际情况指定⾃自⼰己的ip地址即可
    192.168.194.135 k8s-master
  3. 禁用交换分区等操作

    # 将 SELinux 设置为 permissive 模式(将其禁⽤用)
    setenforce 0
    sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    # 可先不运行
    cat <<EOF > /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF sysctl --system
  4. 配置yum源并安装相关相关核⼼心⽂文件

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF yum install -y docker kubelet kubeadm kubectl --disableexcludes=kubernetes
  5. 设置docker 与 kubelet 开机启动

    systemctl enable kubelet
    
    systemctl enable docker
    
    systemctl start docker
  6. 下载kubernetes所需镜像

    我们事先可以通过如下命令查看所依赖的docker镜像版本 kubeadm config images list ,然后通过国内镜像仓库下载所需的镜像⽂文件:

    docker pull mirrorgooglecontainers/kube-apiserver:v1.14.1
    docker pull mirrorgooglecontainers/kube-controller-manager:v1.14.1
    docker pull mirrorgooglecontainers/kube-scheduler:v1.14.1
    docker pull mirrorgooglecontainers/kube-proxy:v1.14.1
    docker pull mirrorgooglecontainers/pause:3.1
    docker pull mirrorgooglecontainers/etcd:3.3.10
    docker pull coredns/coredns:1.3.1

    注意:在这⾥里里的版本号⼀一定要先通过上述命令查看后在填写,本例例中的是v1.14.1后续可能版本会有变化,因为国内的源随时可能更更新k8s的版本

  7. 更改镜像名称

    docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-scheduler:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-apiserver:v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/kube-controller-manager:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1
    docker tag docker.io/mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
    docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
    docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

    删除原先的镜像:

    docker image rm docker.io/mirrorgooglecontainers/kube-apiserver:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-controller-manager:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-scheduler:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/kube-proxy:v1.14.1
    docker image rm docker.io/mirrorgooglecontainers/pause:3.1
    docker image rm docker.io/mirrorgooglecontainers/etcd:3.3.10
    docker image rm docker.io/coredns/coredns:1.3.1
  8. 初始化master环境

    kubeadm init --kubernetes-version v1.14.1  --pod-network-cidr 10.244.0.0/16  --ignore-preflight-errors=NumCPU

    当运⾏行行成功后会出现的提示信息,我们注意以下几点

    • 根据提示信息我们可以运⾏行行:

      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
    • 记录加⼊入token的秘钥


  9. 按需开启master创建pod的功能

    kubectl taint nodes --all node-role.kubernetes.io/master-

    默认情况出于安全考虑 master节点是不不允许创建pod的,我们可以通过如上命令开启此功能

  10. 安装⽹网络插件

    $ iptables -P FORWARD ACCEPT
    
    $ kubectl apply -f	https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    当所有运⾏行行完成后 我们可以通过 kubectl get pod --all-namespaces 来查看pod的运⾏行行状态,当所有为run的状态时,证明启动完毕

使用kubeadm安装kubernetes v1.14.1的更多相关文章

  1. kubeadm安装kubernetes V1.11.1 集群

    之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...

  2. 使用 kubeadm 安装 kubernetes v1.16.0

    近日通过kubeadm 安装 kubernetes v1.16.0,踩过不少坑,现记录下安装过程. 安装环境: 系           统:CentOS Linux release 7.6 Docke ...

  3. 使用kubeadm安装Kubernetes v1.10

    关于K8S: Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩 容缩容等整一套功能,本质上可看作是基于容器技术 ...

  4. kubeadm安装Kubernetes 1.14最佳实践

    前言 Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐.很多新手部署Kubernetes由于“上网”问题举步维艰,本文以实战经验详解kubeadm不用“翻墙”部署Kubern ...

  5. kubeadm安装Kubernetes V1.10集群详细文档

    https://www.kubernetes.org.cn/3808.html?tdsourcetag=s_pcqq_aiomsg 1:服务器信息以及节点介绍 系统信息:centos1708 mini ...

  6. 在CentOS 7.6 以 kubeadm 安装 Kubernetes 1.15 最佳实践

    前言 Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐.很多新手部署Kubernetes由于"scientifically上网"问题举步维艰,本文以实战经 ...

  7. centos7.5下kubeadm安装kubernetes集群安装

    文章是按https://blog.csdn.net/Excairun/article/details/88962769,来进行操作并记录相关结果 版本:k8s V14.0,docker-ce 18.0 ...

  8. 使用kubeadm 安装 kubernetes 1.15.1

    简介: Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿.kubernetes1.5版本以及之前,安装 ...

  9. centos7使用kubeadm安装kubernetes集群

    参考资料:官方文档 一.虚拟机安装 配置说明: windows下使用vbox,centos17.6 min版,kubernetes的版本是1.14.1, 安装如下三台机器: 192.168.56.15 ...

随机推荐

  1. 默认安装centos7 网卡没有启动的问题

    CentOS最小化安装的时候,先把net-tools安装上(先把网卡配置好再安装.) #yum install net-tools 登录操作系统 用户名root 密码 123456 输入ip查询命令  ...

  2. spring boot---WebFilter注解 实现自定义登录过滤器

    https://my.oschina.net/wangnian/blog/647976 http://www.jianshu.com/p/05c8be17c80a

  3. linux 一个超简单的makefile

    makefile 自动化变量:   $@ : 规则的目标文件名  例如:main:main.o test.o                    g++ -Wall -g  main.o test. ...

  4. Quartz2D绘图 及实例:下载进度

    基础绘图: C语言coregraphics框架   绘制一条线:(不常用) UIBezierPath 路径画图 1.线段 线段2: 2.三角形 填充颜色 如果边框颜色和填充颜色都为红色:[[UICol ...

  5. CodeForces979D:Kuro and GCD and XOR and SUM(Trie树&指针&Xor)

    Kuro is currently playing an educational game about numbers. The game focuses on the greatest common ...

  6. 关于return

    return ;  相当于执行完跳转url后停止,return无返回值仅作停止作用,是指停止当前方法,是方法的终点 return null ;  代表引用类型的空值

  7. mtr和nmap命令

    mtr mtr是一个网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性. [root@10.10.90.97 ~]# mtr -h usage: mtr [ ...

  8. Jquery之each函数详解

    最近项目被each函数坑惨了,想来还是好好整理下关于each函数的方方面面,一来方便自己查阅,二来为读者提供经验和教训,废话不多说,来看看Each函数到底是怎么坑人的. 一. 全局jQuery.eac ...

  9. Spring-SpringMVC父子容器&AOP使用总结

    此文已由作者尧飘然授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Spring&SpringMVC Spring&SpringMVC作为bean管理容器和MV ...

  10. HDOJ3231醉

    反正一开始就是瞎几把看题,然后题意理解了,什么飞机?只能去看题解了. 呵呵,可惜,题解看了三个小时,还是一知半解,先写了. - -菜鸡超级详细题解,强行掰弯一波,等下再问问别人吧. OK,OK开始!! ...