项目环境搭建【Docker+k8s】八 || kubernetes集群部署

1、kubernetes管理节点部署

1.1、部署主机

  • YN101-22.host.com

1.2、初始化管理节点

导出配置文件

cd /usr/local/kubernetes/cluster
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml

修改配置文件

advertiseAddress: 192.168.101.20 #修改为本机IP地址
imageRepository: registry.aliyuncs.com/google_containers #使用阿里云仓库
podSubnet: "10.244.0.0/16" #添加该行配置,pod所在网段为我们虚拟机不重叠的网段(这里用flannel默认网段)
kubernetesVersion: v1.15.0 #检查版本是否一致,更改为下载版本
#配置文件末尾添加以下配置,默认的调度方式改为ipvs模式
 --- 
apiVersion: kubeproxy.config.k8s.io/v1alpha1 
kind: KubeProxyConfiguration 
featureGates: 
  SupportIPVSProxyMode: true 
mode: ipvs

查看所需安装的镜像

kubeadm config images list --config kubeadm.yml

各镜像作用

registry.aliyuncs.com/google_containers/kube-apiserver:v1.16.0 #网关,提供restfull风格的api
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.16.0 #控制器管理,自动重启pod
registry.aliyuncs.com/google_containers/kube-scheduler:v1.16.0 #调度
registry.aliyuncs.com/google_containers/kube-proxy:v1.16.0 #代理
registry.aliyuncs.com/google_containers/pause:3.1 #暂停
registry.aliyuncs.com/google_containers/etcd:3.3.15-0 #服务注册与发现
registry.aliyuncs.com/google_containers/coredns:1.6.2 #域名解析服务器

拉取所需镜像

kubeadm config images pull --config kubeadm.yml

执行初始化命令,该命令指定了初始化时需要使用的配置文件,其中添加--experimental-upload-certs参数可以在后续执行加入节点时自动分发证书,追加的tee kubeadm-init.log用以输出日志。

kubeadm init --config=kubeadm.yml --experimental-upload-certs | tee kubeadm-init.log

注意: 如果没有提前下载镜像,这条命令执行时会卡在[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'大概需要2分钟,请耐心等待。安装k8s版本和下载的镜像版本不统一则会出现time out waiting for the condition错误,中途失败或是想修改配置可以使用kubeadm reset命令重置配置,在初始化操作。
安装完后,会提示你输入如下命令,复制粘贴过来,执行即可。

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

上面kubeadm init执行成功后会返回给你node节点加入集群的命令,等会要在node节点上执行,需要保存下来,如果忘记了,可以使用如下命令获取

kubeadm token create --print-join-command

查看是否初始化成功

kubectl get node

alt 图片1

显示以上结果,说明初始化成功,当前状态为NotReady,因为未进行网络配置。

2、kubernetes工作节点部署

2.1、部署主机

  • YN101-31.host.com
  • YN101-32.host.com

2.2、node节点加入集群

将master节点初始化后返回的加入集群命令在node节点中执行,命令如下(示例):

kubeadm join 192.168.101.22:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:4d9b000b6e202da14ad9cefb0aec87fcced40442b51b6d6f22816d83bec2e2aa 

在master中执行命令kubectl get node,查看node节点是否成功加入集群,返回结果如下:

alt 图片2

猜你喜欢

转载自www.cnblogs.com/kevin-ying/p/12346291.html