zoukankan      html  css  js  c++  java
  • Kubernetes Install Tutorials

    事先准备

    • 多台Ubuntu 16.04+、CentOS 7或HypriotOS v1.0.1 + 系统
    • 每台机器最少1GB+内存
    • 集群中所有机器之间网络连接正常
    • 每个节点有唯一MAC地址和product_uuid
    • 打开某些端口。请参阅以下部分

    检查所需端口

    Master节点

    端口范围用途
    6443 * Kubernetes API server
    2379-2380 etcd server client API
    10250 Kubelet API
    10251 kube-scheduler
    10252 kube-controller-manager
    10255 Read-only Kubelet API (Heapster)

    工作节点

    端口范围用途
    10250 Kubelet API
    10255 Read-only Kubelet API (Heapster)
    30000-32767 NodePort Services默认端口范围。

    Docker 安装

    在机器安装Docker,推荐使用1.12 版本(v1.10和v1.11也可以正常使用),1.13和17.03+版本未经过Kubernetes团队的测试和验证。有关安装说明,请参阅Docker官方文档 Docker安装

    kubectl 安装

    在所有机器上安装kubectl,可参考: kubectl安装

    使用Kubernetes命令行工具kubectl在Kubernetes上部署和管理应用程序。使用kubectl,可以检查集群资源; 创建,删除和更新组件。

    以下是安装kubectl的几种方法。

    通过curl安装kubectl二进制文件

    MacOS

    下载最新版本的命令:

    curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl

    要下载特定版本,请使用特定版本替换$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)命令的一部分。

    例如,要在MacOS上下载v1.7.0版本,请键入:

     curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/darwin/amd64/kubectl

    使kubectl二进制可执行。

     chmod +x ./kubectl

    将二进制文件移动到PATH中。

     sudo mv ./kubectl /usr/local/bin/kubectl 

    Linux

    下载最新版本的命令:

     curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

    要下载特定版本,请使用特定版本替换$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)命令的一部分。

    例如,要在Linux上下载v1.7.0版本,请键入:

     curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/linux/amd64/kubectl 

    使kubectl二进制可执行。

     chmod +x ./kubectl 

    将二进制文件移动到PATH中。

     sudo mv ./kubectl /usr/local/bin/kubectl

    Windows

    从此链接下载最新版本v1.7.0 。

    如果curl已安装,请使用以下命令:

     curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/windows/amd64/kubectl.exe

    要了解最新的稳定版本,请查看 https://storage.googleapis.com/kubernetes-release/release/stable.txt

    将二进制文件添加到PATH中。

    作为Google Cloud SDK的一部分下载

    kubectl可以作为Google Cloud SDK的一部分安装。

    1. 安装Google Cloud SDK
    2. 运行以下命令进行安装kubectl:
       gcloud components install kubectl
    3. 运行kubectl version以验证您安装的验证码是否已经是最新的。

    在Ubuntu上安装

    kubectl可作为快速应用程序使用。

    1. 如果您在Ubuntu或其他支持快照包管理器的Linux发行版之一,您可以使用以下安装:
       sudo snap install kubectl --classic
    2. 运行kubectl version以验证您安装的验证码是否已经是最新的。

    在MacOS上安装Homebrew

    1. 如果您使用的是MacOS并使用Homebrew软件包管理器,则可以使用以下命令进行安装:
       brew install kubectl
    2. 运行kubectl version以验证您安装的验证码是否已经是最新的。

    在Windows上安装Chocolatey

    1. 如果您使用的是Windows,并使用Chocolatey软件包管理器,则可以安装:
       choco install kubernetes-cli
    2. 运行kubectl version以验证您安装的验证码是否已经是最新的。
    3. 配置kubectl以使用远程kubernetes集群:
       cd C:usersyourusername (Or wherever your %HOME% directory is)
       mkdir .kube
       cd .kube
       touch config 

    使用文本编辑器编辑配置文件。

    配置kubectl

    为了使kubectl找到并访问Kubernetes集群,需要一个kubeconfig文件,当你使用kube-up.sh创建集群或成功部署Minikube集群时,该文件将自动创建。有关创建集群的更多信息,请参阅入门指南。如果你需要访问未创建的群集,请参阅共享群集访问文档。默认情况下,kubectl配置位于~/.kube/config。

    检查kubectl配置

    通过获取集群状态来检查kubectl是否正确配置:

    $ kubectl cluster-info

    如果看到一个URL响应,kubectl被正确配置为访问您的集群。

    如果看到类似于以下内容的消息,则kubectl未正确配置:

    The connection to the server <server-name:port> was refused - did you specify the right host or port?

    启用shell自动完成

    kubectl包括支持自动完成,可以节省大量打字!

    完成脚本本身是由kubectl生成的,所以你通常只需要从你的配置文件中调用它。

    这里提供常见的例子。有关详细信息,请咨询kubectl completion -h。

    在Linux上,使用bash

    要将kubectl自动完成添加到当前shell,请运行source <(kubectl completion bash)。

    要将kubectl自动完成添加到你的配置文件中,因此将在以后的shell中自动加载运行:

    echo "source <(kubectl completion bash)" >> ~/.bashrc

    在MacOS上,使用bash

    在macOS上,你需要首先通过Homebrew安装bash-completion支持:

    ## If running Bash 3.2 included with macOS
    brew install bash-completion
    ## or, if running Bash 4.1+
    brew install bash-completion@2 

    按照brew输出的“部分注意事项”,将正确的bash完成路径添加到本地的.bashrc中。

    如果你使用Homebrew指令安装了kubectl,那么kubectl完成应该立即开始工作。

    如果你手动安装了kubectl,则需要将kubectl自动完成添加到bash-completion中:

    kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl

    Homebrew项目独立于kubernetes,所以bash完成包不能保证工作。

    kubelet和kubeadm 安装

    在所有机器上安装以下软件包:

    • kubelet
    • kubeadm

    注意:如果机器上已经安装了kubeadm,则应需要apt-get update && apt-get upgrade或者yum update获得最新版本的kubeadm。如果想了解不同版本的kubeadm,请参考

    配置机器:

    • SSH登录主机。
    • 如果使用的是Ubuntu或HypriotOS,请运行:
    apt-get update && apt-get install -y apt-transport-https
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
    cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb http://apt.kubernetes.io/ kubernetes-xenial main
    EOF
    apt-get update
    apt-get install -y kubelet kubeadm

    国内源

    # 使得 apt 支持 ssl 传输
    apt-get update && apt-get install -y apt-transport-https
    # 下载 gpg 密钥
    curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
    # 添加 k8s 镜像源
    cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
    # 更新源列表
    apt-get update
    # 下载 kubectl,kubeadm以及 kubelet
    apt-get install -y kubelet kubeadm kubectl 
    • 如果使用的是CentOS,请运行:
      cat <<EOF > /etc/yum.repos.d/kubernetes.repo
      [kubernetes]
      name=Kubernetes
      baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=1
      gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
              https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
      EOF
      setenforce 0
      yum install -y kubelet kubeadm
      systemctl enable kubelet && systemctl start kubelet

      执行完后,kubelet会进入每隔几秒重新启动一次的循环模式,因为kubelet在等待kubeadm发出的命令。

      注意:必须使用运行setenforce 0命令来禁用SELinux,因为需要允许容器访问主机文件系统,这是配置pod网络所要求的。(直到kubelet中对SELinux支持得到改进)

    kubeadm init 无法拉取镜像解决方法

    先阿里云仓库下拉再打标签

    registry.aliyuncs.com/google_containers/kube-proxy                v1.17.4             6dec7cfde1e5        9 days ago          116MB
    registry.aliyuncs.com/google_containers/kube-controller-manager   v1.17.4             7f997fcf3e94        9 days ago          161MB
    registry.aliyuncs.com/google_containers/kube-apiserver            v1.17.4             2e1ba57fe95a        9 days ago          171MB
    registry.aliyuncs.com/google_containers/kube-scheduler            v1.17.4             5db16c1c7aff        9 days ago          94.4MB
    registry.aliyuncs.com/google_containers/coredns                   1.6.5               70f311871ae1        4 months ago        41.6MB
    registry.aliyuncs.com/google_containers/etcd                      3.4.3-0             303ce5db0e90        4 months ago        288MB
    registry.aliyuncs.com/google_containers/pause                     3.1                 da86e6ba6ca1        2 years ago         742kB
    
    
    
    docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.17.4 k8s.gcr.io/kube-proxy:v1.17.4  
    docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.4 k8s.gcr.io/kube-controller-manager:v1.17.4 
    docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.4 k8s.gcr.io/kube-apiserver:v1.17.4
    docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.4 k8s.gcr.io/kube-scheduler:v1.17.4
    docker tag registry.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
    docker tag registry.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:.4.3-0
    docker tag registry.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
  • 相关阅读:
    n!末尾有几个零
    NYOJ 14(会场安排)
    使用dynamic来简化反射实现,并且提高了性能。
    VB.NET 、Java 与 C# 语法对比。
    你不得不使用的XML代码生成器,那就是XmlFactory
    C# 和vb.net事件
    SQL Server 2008中的hierarchyid
    系统架构师基础到企业应用架构客户端/服务器
    Asp.Net在IIS上运行不了,就试下下面方法应该可以你的问题
    为你的博客添加几分色彩
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/12430179.html
Copyright © 2011-2022 走看看