zoukankan      html  css  js  c++  java
  • k8s部署

    k8s部署

    1.介绍

      Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能

      通过Kubernetes你可以:

    • 快速部署应用
    • 快速扩展应用
    • 无缝对接新的应用功能
    • 节省资源,优化硬件资源的使用

       Kubernetes 特点

    • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
    • 可扩展: 模块化, 插件化, 可挂载, 可组合
    • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

    2.部署环境

      1.系统   centos7.5

            2.节点: 3个节点

            3 ip地址    10.121.12.10 10.121.12.11 10.121.12.12

    3.部署k8s

    设置主机名
    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-node1
    hostnamectl set-hostname k8s-node2

    配置时间同步所有节点都要执行

    crontab -e
    */02 * * * * /usr/sbin/ntpdate time1.aliyun.com && /usr/sbin/clock -w

    关闭防火墙,注意:所有节点都要执行

    systemctl disable firewalld
    
    systemctl stop firewalld
    
    setenforce 0

    优化内核参数,注意:所有节点都要执行

    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    
    sysctl --system

    清除docker软件包,如果新的系统,请忽略

    yum remove docker  docker-common  docker-selinux  docker-engine

    安装docker 依赖包,注意:所有节点都要执行

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum makecache fast
    
    yum -y --setopt=obsoletes=0 install docker-ce-17.03.0.ce-1.el7.centos

    启动docker服务并查看版本,注意:所有节点都要执行

    systemctl enable docker && systemctl start docker
    
    docker version

    安装k8s服务,注意:所有节点都要执行

    #配置yum源
    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
    #安装k8s
    yum search kubeadm
    yum install -y kubelet kubeadm kubectl kubernetes-cni
    systemctl enable kubelet && systemctl start kubelet

    下载k8sdocker images 服务,注意:所有节点都要执行

    vim image2.sh
    images=(
        kube-apiserver:v1.14.0
        kube-controller-manager:v1.14.0
        kube-scheduler:v1.14.0
        kube-proxy:v1.14.0
        pause:3.1
        etcd:3.3.10
        coredns:1.3.1
        kubernetes-dashboard-amd64:v1.10.1
        heapster-grafana-amd64:v5.0.4
        heapster-influxdb-amd64:v1.5.2
        heapster-amd64:v1.5.4
    )
    for imageName in ${images[@]} ; do
        docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName}
        docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName} k8s.gcr.io/${imageName}
        #docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName}
    done
    
    #执行命令
    sh image2.sh 

    查看镜像 是否都下载到docker中

    #查看docker images
    docker image ls
    #k8s配置
    kubeadm config images list

     master 初始化

    kubeadm init --kubernetes-version=v1.14.0 --pod-network-cidr=10.244.0.0/16
    ##根据回显操作
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config

     部署容器

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    查看pods

    kubectl get pods --all-namespaces

    加入slave节点

    #token 在master初始化的时候生成的,到节点中执行
    kubeadm join 192.168.115.146:6443 --token f8pwe2.13tqwhy020mn580a 
        --discovery-token-ca-cert-hash sha256:69056be6342088ce82d8409f2df96765d1e1f9f84e31e2cd85c966efe472e540

  • 相关阅读:
    sql-server数据库中利用触发器实现表与表之间的级联删除
    求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。
    params参数的调用
    C# 参考之方法参数关键字:params、ref及out
    写一个方法求数组中的最大值,最小值,总和以及平均值。
    写一个方法来解析一元二次方程。
    创建一个方法来判断是否为闰年。。
    构造方法
    总结重写和重载区别
    DelegatingActionProxy
  • 原文地址:https://www.cnblogs.com/zhenhui/p/12012532.html
Copyright © 2011-2022 走看看