前言
前面我们按照kubernetes集群的需求装好了机器,我们这次kubernetes集群的话打算使用两台以上的机器来进行部署。
Master
master上我们要安装apiserver、scheduler、coredns、controller等组件。
apt install lrzsz
先安装一下上传工具,因为我们init的时候使用配置文件的方式。kubeadm-admin.conf文件如下:
apiVersion: kubeadm.k8s.io/v1beta1
bootstrapTokens:
- groups:
- system:bootstrappers:kubeadm:default-node-token
token: abcdef.0123456789abcdef
ttl: 24h0m0s
usages:
- signing
- authentication
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: 192.168.*.* # 集群apiserver所在主机,也就是master的ip
nodeRegistration:
criSocket: /var/run/dockershim.sock
name: k8smaster1 # master的主机名
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/master
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta1
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: ""
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: hub.ppmoney.io/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.13.4
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16 # 我们后面使用flannel网络,故这里使用该配置
serviceSubnet: 10.96.0.0/12
scheduler: {}
上传到自己设定的一个目录当中。
kubeadm init --config=kubeadm-admin.conf
安装成功后,我们进行config文件的环境变量设置及移动。
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
这时候我们使用命令查看集群和nodes还有pods
kubectl get cs
kubectl get nodes
kubectl get pods --all-namespaces
这时候我们看到coreDNS以及proxy是没有配置好的,下面我们进行网络插件的安装。
CNI网络插件
kubernetes有多种网络组件,calico、flannel等,我们这里入门的话使用官方推荐的flannel网络插件。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
然后等待启动好,我们再进行
kubectl get pods -n kube-system -o wide
就可以发现各组件都running起来了。
Node
网络组件装好之后,我们将准备好的另外一台机器加入到kubernetes集群当中,很简单,一条命令即可:
kubeadm join 192.168.*.*:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:030ebf9fd858c3082220682fb3ae6d5e5e6bc2136aad50f44e0b834036336a8c
然后我们在master的机器上面使用
kubectl get nodes
便可以查看到node节点已经成功加入到集群当中,后面部署其他应用的时候,我们就可以看到pod会挂载到集群的node上面。
网友评论