
kubernetes1.5.2集群部署过程--非安全模式
发布日期:2025-04-03 04:09:27
浏览次数:8
分类:精选文章
本文共 3222 字,大约阅读时间需要 10 分钟。
在CentOS7上部署Kubernetes群集
环境配置
宿主机采用CentOS7 7.3.1611搭建,配置如下:
- 操作系统:CentOS7 7.3.1611
- ** selinux**:关闭
- etcd:版本3.1.9
- flannel:版本0.7.1
- docker:版本1.12.6
- kubernetes:版本1.5.2
软件安装
通过YUM安装必要软件包:
yum install etcd kubernetes kubernetes-client kubernetes-master kubernetes-node flannel docker docker-devel docker-client docker-common -y
部署etcd
配置etcd集群,确保所有节点能够通信。以下为示例配置:
IP=$(ifconfig ens33 | grep inet | grep -v inet6 | awk '{print $2}')cat << EOF > /etc/etcd/etcd.conf[member]ETCD_NAME=${HOSTNAME}ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_WAL_DIR=""ETCD_SNAPSHOT_COUNT="10000"ETCD_HEARTBEAT_INTERVAL="100"ETCD_ELECTION_TIMEOUT="1000"ETCD_LISTEN_PEER_URLS="http://${IP}:2380,http://localhost:2380"ETCD_LISTEN_CLIENT_URLS="http://${IP}:2379,http://localhost:2379"ETCD_MAX_SNAPSHOTS="5"ETCD_MAX_WALS="5"ETCD_CORS=""[cluster]ETCD_INITIAL_ADVERTISE_PEER_URLS="http://${IP}:2380"ETCD_INITIAL_CLUSTER="kube-master=http://192.168.20.128:2380,kube-node1=http://192.168.20.131:2380,kube-node2=http://192.168.20.132:2380,kube-node3=http://192.168.20.134:2380,kube-node4=http://192.168.20.135:2380"ETCD_INITIAL_CLUSTER_STATE="new"ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"ETCD_ADVERTISE_CLIENT_URLS="http://${IP}:2379"EOF
启动并启用等cd服务:
systemctl start etcdsystemctl enable etcd
Kubernetes 集群部署
Master节点配置
配置kube-apiserver,指定相关参数:
cat << EOF > /etc/kubernetes/apiserverKUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"KUBE_API_PORT="--port=8080"KUBELET_PORT="--kubelet-port=10250"KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.20.128:2379"KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=172.17.0.0/24"KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"KUBE_API_ARGS=""EOF
Node节点配置
配置kubelet,确保节点可连接到master:
cat << EOF > /etc/kubernetes/kubeletKUBELET_ADDRESS="--address=0.0.0.0"KUBELET_PORT="--port=10250"KUBELET_HOSTNAME="--hostname-override=${HOSTNAME}"KUBELET_API_SERVER="--api-servers=http://192.168.20.128:8080"KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"EOF
启动服务
在Master节点运行:
for SERVICES in kube-apiserver kube-controller-manager kube-scheduler flanneld do systemctl restart $SERVICES systemctl enable $SERVICES done
在Node节点运行:
for SERVICES in kube-proxy docker flanneld kubelet do systemctl restart $SERVICES systemctl enable $SERVICES done
Flannel网络配置
Flannel用于实现Docker容器之间跨主机通信,配置步骤如下:
示例网络配置
在Etcd集群中创建网络:
etcdctl get /coreos.com/network/config# 并根据需要添加或修改网络配置
Flannel客户端配置
配置flanneld客户端:
cat << EOF > /etc/sysconfig/flanneldFLANNEL_ETCD_ENDPOINTS="http://192.168.20.128:2379"FLANNEL_ETCD_PREFIX="/coreos.com/network"FLANNEL_OPTIONS=""EOF
启动相关服务:
在Master节点运行:
for SERVICES in kube-apiserver kube-controller-manager kube-scheduler flanneld do systemctl restart $SERVICES systemctl enable $SERVICES done
在Node节点运行:
for SERVICES in kube-proxy docker flanneld kubelet do systemctl restart $SERVICES systemctl enable $SERVICES done
测试与验证
在Master节点执行:
kubectl get nodes
观察是否有节点返回,若所有节点显示"Ready",则部署完成。
通过以上步骤,可以完成Kubernetes集群的部署,并通过Flannel实现节点间的网络通信。部署完成后,可根据实际需求调整配置参数,如调整log级别或修改容器权限等。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月04日 17时00分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
laravel server error 服务器内部错误
2021-05-18
一道简单的访问越界、栈溢出pwn解题记录
2021-05-18
响应的HTTP协议格式+常见的响应码
2021-05-18
springboot redis key乱码
2021-05-19
解决打开 json 文件中文乱码的问题
2025-03-28
计算机网络基础:PKI(公钥基础设施)
2025-03-28
乒乓球问题
2025-03-28
回溯法介绍
2025-03-28
有了Trae,人人都是程序员的时代来了
2025-03-28
程序员都看不懂的代码
2025-03-28
LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
2025-03-28
404页面自动跳转源码
2025-03-28
46:把数字翻译成字符串(动态规划)
2025-03-28
500套精美Logo样机模板可直接套用、轻松制作炫酷logo
2025-03-28
ASP.NET MVC4 json序列化器
2025-03-28
Accessibility
2025-03-28