zoukankan      html  css  js  c++  java
  • 安装kubernet(k8s)

    简介:

    需要学习的都明白,这里就不赘述了。

    本文采用CentOS-7-x86_64-DVD-1810.iso

    一:安装操作系统

    本来是喜欢用fedora的,但是fedora貌似包维护的不好,就又开始用CentOS了。

    自己装吧。

    二:安装Docker

    1.安装yum-utils

    这个是yum扩展工具,可以扩展yum-config-manager命令

    yum install -y yum-utils device-mapper-persistent-data lvm2
    

    2.配置docker-ce源

    为了使用docker官方编译的docker,配置docker官方docker-ce的源

    yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    3.查看docker的版本

    Kubernetes 1.15当前支持的docker版本列表是1.13.1, 17.03, 17.06, 17.09, 18.06, 18.09。

    yum list docker-ce.x86_64  --showduplicates |sort -r
    

    4.安装指定版本的docker

    yum install -y  docker-ce-18.09.8-3.el7
    

    4.启动docker

    systemctl start docker && systemctl enable docker
    

    4.安装指定版本的docker

    三:安装kubeadm

    1.配置阿里源

    官方给的说明是EOF模式配置

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    

    2.安装kubelet kubeadm kubectl

    yum install -y kubelet kubeadm kubectl
    

    3.启动kubelet

    systemctl enable kubelet && systemctl start kubelet
    

    四:初始化kubernetes

    1.初始化

    这里使用kubeadm init来初始化集群

    kubeadm init
    

    不出意外的出错了。

      [WARNING Firewalld]: firewalld is active, please ensure ports [6443 10250] are open or your cluster may not function correctly
      [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
      [WARNING Hostname]: hostname "centos7-01" could not be reached
      [WARNING Hostname]: hostname "centos7-01": lookup centos7-01 on 192.168.1.1:53: no such host
    

     一个防火墙问题,一个docker文件系统问题,两个hostname问题。

    2.配置防火墙

      添加服务kubernetes配置文件 

        通过EOF方式,增加服务配置文件。

    firewall-cmd --new-service=kubernetes --permanent

      编辑服务配置文件/etc/firewalld/services/kubernetes.xml

    cat <<EOF > /etc/firewalld/services/kubernetes.xml
    <?xml version="1.0" encoding="utf-8"?>

    <service>
    <short>kubernetes</short>
    <description>Kubernetes cluster </description>
    <port protocol="tcp" port="6443"/>
    <port protocol="tcp" port="10250"/>
    </service>
    EOF

    添加服务

    firewall-cmd --add-service=kubernetes --permanent
    

      重启生效

     systemctl restart firewalld
    

    3.修改docker配置

    创建或修改 /etc/docker/daemon.json 文件

    {
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
    

     可选配置

    registry-mirrors    镜像加速
    graph docker存储路径
    {
        "registry-mirrors": ["http://**************.daocloud.io"],
        "graph": "/storage/docker"
    }
    

    4.修改host文件

    编辑/etc/hosts文件

    按上面的示例创建IP和主机名对应的记录

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.11 k8s-master1
    192.168.1.12 k8s-master2
    192.168.1.21 k8s-node001
    192.168.1.22 k8s-node002
    

     5.预下载容器镜像

    kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
    

    6.

    7.

    8.

    9.

    10.

    五:

    六:

    七:

    八:

    九:

    十:

  • 相关阅读:
    Linux下配置Tomcat服务器
    Octopress + GitHub Page 搭建个人博客
    Cocoapods报错Unable to satisfy the following requirements
    类方法load和initialize的区别
    AFNetworking3.0 Post JSON数据
    iOS防止button重复点击
    iOS与H5交互遇到的坑
    cocoapods安装
    平时做的一些好玩或者测试的 项目 特效,动画
    webpack那些事儿
  • 原文地址:https://www.cnblogs.com/jackadam/p/11253713.html
Copyright © 2011-2022 走看看