Kubeadm部署K8s工作集群
2020-06-06 07:21
363 查看
一、规划
本次测试集群使用1台master控制节点,2个node工作节点。
|
IP | 角色/职责 |
---|---|
192.168.1.10 | master/ 对内提供工作流的调度和控制 |
192.168.1.11 | node1/承载k8s运行的实际任务(奴隶/工作者) |
192.168.1.12 | node2/承载k8s运行的实际任务(奴隶/工作者) |
二、准备工作
主机名解析:
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 master 192.168.1.10 node1 192.168.1.11 node2 192.168.1.11
三、安装Docker服务
在master、Node节点上执行:
yum install -y yum-utils device-mapper-persistent-data lvm2 ##获取docker镜像源repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ##创建更新系统和安装docker yum update -y && yum -y install docker-ce #配置daemon.json镜像加速 cat >/etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdr=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } EOF ###重启docker服务 systemctl daemon-reload && systemctl restart docker && systemctl enable docker
四、系统基础配置
在Master、Node节点执行。
###关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 ###内核参数 cat <<EOF > /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl -p ####关闭交换分区 sed -i '/swap/s/^/#/' /etc/fstab swapoff -a
五、k8s安装和初始化节点
在Master、Node节点上执行
cat << EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes Repo baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ gpgcheck=0 enable=1 EOF
yum在Master、Node节点安装kubeadm、kubelet、kubectl
yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1 systemctl enable kubelet.service
在Master节点操作初始化节点
kubeadm config print init-defaults > kubeadm-config.yaml vi kubeadm-config.yaml ///修改如下内容: advertiseAddress: 192.168.1.10 //Master IP imageRepository: registry.aliyuncs.com/google_containers kubernetesVersion: v1.15.1 podSubnet: "10.244.0.0/16"
开始初始化节点Master操作
kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log
查看Master 所需执行内容和Node节点的秘钥
查看Node节点状态
kubectl get nodes NAME STATUS ROLES AGE VERSION master NoReady <none> 21h v1.15.1 node1 NoReady <none> 21h v1.15.1 node2 NoReady <none> 21h v1.15.1
因缺少flannel网络,安装即可
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl apply -f kube-flannel.yml ###休息3分钟再看 kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready master 21h v1.15.1 node1 Ready <none> 21h v1.15.1 node2 Ready <none> 21h v1.15.1
六、总结
1.本次k8s严格按照流程安装不会出现任何问题。
2.常用命令:
kubectl get cs ///查看集群master节点工作状态
kubectl get csr ///查看待认证节点
kubectl get pod //查看pod信息
kubectl logs [pod] //查看日志
kubectl describe ///pod 的运行信息
还请各位持续关注,后续推出二进制安装方案。Jenkins流水线构造等。实现devops至高无上的运维体系。。。
相关文章推荐
- kubeadm部署单Master节点K8S集群
- Kubeadm部署基于Calico K8s集群
- Kubernetes学习之路(一)之Kubeadm部署K8S集群
- kubeadm部署1.11.1的k8s集群
- k8s 1.13 kubeadm部署(带dashboard)并修改默认证书期限
- kubeadm部署kubernetes 1.13.1集群
- 解决阿里云ECS下kubeadm部署k8s无法指定公网IP
- 利用 Kubeadm部署 Kubernetes 1.13.1 集群实践录
- 使用kubeadm+dashboard构建k8s集群v1.15版本
- 使用kubeadm部署k8s集群03-扩容kube-apiserver到3节点
- K8S部署--kubeadm
- Kubernetes的几种主流部署方式02-kubeadm部署1.14版本高可用集群
- 使用kubeadm部署k8s集群04-配置kubelet访问kube-apiserver
- 直播 | 准生产级的集群部署工具kubeadm原理解析
- k8s核心组件----kubeadm初始化集群(v1.14.2)
- 使用kubeadm部署k8s集群06-扩容kube-controller-manager到3节点
- k8s部署02-----kubeadm部署k8s