基于linux7的k8s部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于linux7的k8s部署相关的知识,希望对你有一定的参考价值。

基于linux7的k8s部署(一)

  1. 环境准备
    #系统环境
    lsb_release -a
    Distributor ID: CentOS
    Description:    CentOS Linux release 7.3.1611 (Core)
    Release:    7.3.1611
    Codename:   Core
    说明:如提示:-bash: lsb_release: command not found,请yum install -y redhat-lsb
    #查看selinux状态
    getenforce
    Disabled
    #docker 版本
    docker --version
    Docker version 17.09.0-ce, build afdb6d4
  2. 初始化配置工作
    Master 和 Node 节点由于分工不一样,所以安装的服务不同,最终安装完毕,Master 和 Node 启动的核心服务分别如下:
Master 节点 Node 节点
etcd-master kube-flannel
kube-apiserver kube-proxy
kube-controller-manager other apps
kube-proxy --------
kube-scheduler --------
kube-dns --------
kube-flannel --------
pause-amd64 --------
  1. 基础镜像(二进制文件)(以v1.10.0为例):
    #说明:
    做高可用必须保证master节点为2个及其以上,推荐3个节点!
    #下载kubernetes二进制文件
    可以从kubernetes上下载,一般需要下载server包即可,解压文件后,使用docker load 命令把tar包load成可用镜像(如有需要打上自己想要的tag)。
    #下载:
    kubernetes-server-linux-amd64.tar.gz
    kubernetes-src.tar.gz
    kubernetes.tar.gz
    #解压缩
    tar zxf kubernetes-server-linux-amd64.tar.gz
    cd /data/k8s/kubernetes/server/bin
    #创建镜像
    docker load -i  kube-apiserver.tar
    docker load -i kube-controller-manager.tar
    docker load -i kube-scheduler.tar
    docker load -i kube-proxy.tar

    #本次演示 kubernetes 所依赖的各个镜像列表如下:

Image Name Version Des ( * 必需)
k8s.gcr.io/kube-apiserver v1.10.0 *
k8s.gcr.io/kube-controller-manager v1.10.0 *
k8s.gcr.io/kube-scheduler v1.10.0 *
k8s.gcr.io/kube-proxy v1.10.0 *
k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64 1.14.8 *
k8s.gcr.io/k8s-dns-sidecar-amd64 1.14.8 *
k8s.gcr.io/k8s-dns-kube-dns-amd64 1.14.8 *
k8s.gcr.io/pause-amd64 3.1 *
quay.io/coreos/flannel v0.9.1 *
quay.io/calico/node v2.6.2
quay.io/calico/cni v1.11.0
k8s.gcr.io/etcd-amd64 3.1.12
  1. 运行kubelet服务
    #cp文件
    cp /data/k8s/kubernetes/server/bin/kubeadm   /usr/bin/
    cp /data/k8s/kubernetes/server/bin/kubectl      /usr/bin/
    cp /data/k8s/kubernetes/server/bin/kubelet      /usr/bin/
    #cp kubelet.service文件
    mkdir kubernetes-src
    tar zxf kubernetes-src.tar.gz -C ./kubernetes-src/
    cd /data/k8s/kubernetes-src/build/rpms
    cp ./kubelet.service  /etc/systemd/system/
    chmod 755  /etc/systemd/system/kubelet.service
    #修改kubelet.service文件
    [Unit]
    Description=kubelet: The Kubernetes Node Agent
    Documentation=http://kubernetes.io/docs/
    [Service]
    ExecStart=/usr/bin/kubelet
    Restart=always
    StartLimitInterval=0
    RestartSec=10
    [Install]
    WantedBy=multi-user.target
    #开启kubelet服务
    systemctl start  kubelet.service
    systemctl status kubelet.service

以上是关于基于linux7的k8s部署的主要内容,如果未能解决你的问题,请参考以下文章

Linux7 非root 使用tomcat8

基于k8s构建企业jenkins CICD

基于gitlab+docker+k8s打造自动化构建部署流程

基于k8s的Paas平台概要设计

企业运维实战-k8s学习笔记17.k8s集群+Prometheus监控部署基于prometheus实现k8s集群的hpa动态伸缩虚拟机部署prometheus监控

基于k8s集群部署prometheus监控etcd