美文网首页
K8S 安装一

K8S 安装一

作者: SingleException | 来源:发表于2020-10-11 23:05 被阅读0次

    安装kubectl

    1. 地址 https://kubernetes.io/docs/tasks/tools/install-kubectl/ 太慢

    2. 步骤

      [root@localhost k8s]# cd kubernetes/client/bin/
      [root@localhost bin]# chmod +x ./kubectl
      [root@localhost bin]# sudo mv ./kubectl /usr/local/bin/kubectl
      
    2.png

    安装kind

    1. wget -O /usr/local/bin/kind https://github.com/kubernetes-sigs/kind/releases/download/v0.9.0/kind-linux-amd64 && chmod +x /usr/local/bin/kind 也可以自己去github上面下载

    创建集群

    image.png

    查看集群信息

    image.png

    安装Minikube

    1. curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.13.0/minikube-linux-amd64
    2. chmod +x minikube
    3. sudo mv minikube /usr/local/bin/minikube
    4. minikube version


      image.png
    5. 执行 minikube start (需要先安装virtualbox,运行时需要切换一下用户)


      image.png

    安装virtualbox

    1. https://www.linuxidc.com/Linux/2018-11/155220.htm

    安装 kubeadm 和 kubelet

    1. 首先禁用 swap 原因不知道,具体询问 张晋涛。。。。
    如何禁用:
    
    使用 sudo cat /proc/swaps 验证 swap 配置的设备和文件。
    通过 swapoff -a 关闭 swap 。
    使用 sudo blkid 或者 sudo lsblk 可查看到我们的设备属性,请注意输出结果中带有 swap 字样的信息。
    将 /etc/fstab 中和上一条命令中输出的,和 swap 相关的挂载点都删掉,以免在机器重启或重挂载时,再挂载 swap 分区。
    执行完上述操作,swap 便会被禁用,当然你也可以再次通过上述命令,或者 free 命令来确认是否还有 swap 存在。
    
    [root@master ~]# free 
                  total        used        free      shared  buff/cache   available
    Mem:        1882748       85608     1614836       16808      182304     1630476
    Swap:             0           0           0
    
    
    1. 下载kubernetes-server-linux-amd64.tar.gz 推荐在github上面下载https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#server-binaries
    2. 执行
    [root@master tmp]# tar -zxf kubernetes-server-linux-amd64.tar.gz
    [root@master tmp]# ls kubernetes
    addons  kubernetes-src.tar.gz  LICENSES  server
    [root@master tmp]# ls kubernetes/server/bin/ | grep -E 'kubeadm|kubelet|kubectl'
    kubeadm
    kubectl
    kubelet
    
    
    可以看到在 server/bin/ 目录下有我们所需要的全部内容,将我们所需要的 kubeadm kubectl kubelet 等都移动至 /usr/bin 目录下。
    
    [root@master tmp]# mv kubernetes/server/bin/kube{adm,ctl,let} /usr/bin/
    [root@master tmp]# ls /usr/bin/kube*
    /usr/bin/kubeadm  /usr/bin/kubectl  /usr/bin/kubelet
    

    4.配置kubelet

    [root@master tmp]# cat <<'EOF' > /etc/systemd/system/kubelet.service
    [Unit]
    Description=kubelet: The Kubernetes Agent
    Documentation=http://kubernetes.io/docs/
    
    [Service]
    ExecStart=/usr/bin/kubelet
    Restart=always
    StartLimitInterval=0
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    EOF
    [root@master tmp]# mkdir -p /etc/systemd/system/kubelet.service.d
    [root@master tmp]# cat <<'EOF' > /etc/systemd/system/kubelet.service.d/kubeadm.conf
    [Service]
    Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
    Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
    EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
    EnvironmentFile=-/etc/default/kubelet
    ExecStart=
    ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
    EOF
    [root@master tmp]# systemctl enable kubelet
    Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /etc/systemd/system/kubelet.service.
    

    安装crictl 和 socat

    1. crictl https://github.com/kubernetes-sigs/cri-tools/releases

      image.png
    2. yum install -y socat

    3. yum -y install socat conntrack-tools

    添加阿里kubernetes源

    [root@master01 ~]# 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
    

    kubeadm初始化集群

    image.png
    1. kubeadm init --image-repository registry.aliyuncs.com/google_containers
      这一步很关键,由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过–image-repository指定阿里云镜像仓库地址。
      2.配置 kubectl
    记录生成的最后部分内容,此内容需要在其它节点加入Kubernetes集群时执行。
    根据提示创建kubectl
    
    [root@master01 ~]#  mkdir -p $HOME/.kube
    [root@master01 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    [root@master01 ~]#   sudo chown $(id -u):$(id -g) $HOME/.kube/config
    执行下面命令,使kubectl可以自动补充
    
    [root@master01 ~]# source <(kubectl completion bash)
    

    3.配置集群网络
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

    1. 查看pod和node


      image.png

      kubectl get node
      kubectl get pod --all-namespaces

    参考

    使用kubeadm在Centos8上部署kubernetes1.18
    Kubernetes 从上手到实践

    相关文章

      网友评论

          本文标题:K8S 安装一

          本文链接:https://www.haomeiwen.com/subject/dfmypktx.html