kubenetes集群配置之kubeadm自动创建集群

kubeadm自动创建集群

  • kubeadm自动创建集群
      • 一 更新apt-get源
      • 二 安装docker 和kubenetes
      • 三 配置kubenetes
        • 3.1 注意事项
        • 3.2 配置master节点
        • 3.3 配置子节点

最近在做一个比赛,需要部署在kubenetes集群上。手动创建集群需要配置很多环境文件,容易出现各种问题,因此。我们在利用kubenetes自动部署工具kubenetes。我们的部署环境是ubuntu16.04

一 更新apt-get源

在原始的方法中,由于网络问题,可能会出现某些资源下载不了或者速度很慢的问题,因此,我们需要修改源。

  1. 修改Ubuntu源
    在国内,Ubuntu源有很多,推荐使用清华大学的源,更新也很快。地址链接为清华大学ubuntu源
    修改系统文件

  2. 添加kubenetes下载源

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add

cat < /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF

二 安装docker 和kubenetes

1. apt-get install  docker.io
2. apt-get install -y kubelet kubeadm kubectl kubernetes-cni

三 配置kubenetes

3.1 注意事项

安装好docker和kubenetes后,便可以用kubeadm配置集群。
在配置之前,有两个事情需要注意:
1. 安装需要在下进行
2. 关闭swap

swapoff -a

3.在我配置master的时候, 需要配置一个crictl的控件。

3.2 配置master节点

  1. 列表内容
    执行默认的语句kubeadm init,在master节点上创建master
kubeadm init

执行上述指令之后,输出中有结果。在子节点上执行下面的指令,即可加入集群之中

kubeadm join --token 262500.83d33677d341d692 10.144.133.17:6443

kubeadmin命令会自动

  • 系统状态检查
  • 生成token
  • 生成kubeconfig用于kubelet连接API server
  • 为Master组件生成Static Pod manifests,并放到/etc/kubernetes/manifests目录中
  • 配置RBAC并设置Master node只运行控制平面组件
  • 创建附加服务,比如kube-proxy和kube-dns

    2.配置kubelet

# 对于非root用户
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 对于root用户
$ export KUBECONFIG=/etc/kubernetes/admin.conf
# 也可以直接放到~/.bash_profile
$ echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

3.配置网络
在安装完Master节点后,查看节点信息会发现节点的状态为noready。查看noready的原因发现是由于cni插件没有配置。其实这是由于还没有配置网络。可以配置多种网络,这里作者选用最长远的fannel网络进行配置。

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

3.3 配置子节点

子节点加入集群之中很简单,只要执行命令

kubeadm join --token 262500.83d33677d341d692 10.144.133.17:6443

执行命令之后,发现子节点的状态仍然是notready,其实也是因为网络没有配置好。在我们这里采用的是修改kubelet配置文件。删除文件 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 中的 $KUBELET_NETWORK_ARGS

你可能感兴趣的:(大数据,kubenetes)