容器云集群安装配置



注意:这里使用的centos7.x,也必须是7以上,6不适用


1,将主机与IP地址写入hosts文件夹中,master与salve都需要
master etcd registry 是指向主节点IP地址 也就是说配置三项或者一项都可

2,关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
3,部署etcd服务 k8s的的依赖

yum install etcd -y
编辑 /etc/etcd/etcd.conf 文件
sed -i 's/原字符串/新字符串/' /home/1.txt
关于etcd监听的2379或者4001端口,都行,官方建议2379
sed -i 's/ETCD_NAME=default/ETCD_NAME=主机名1/' /etc/etcd/etcd.conf
sed -i 's/ETCD_LISTEN_CLIENT_URLS="http:\/\/.*:2379"/ETCD_LISTEN_CLIENT_URLS="http:\/\/0.0.0.0:2379"/;s/ETCD_ADVERTISE_CLIENT_URLS="http:\/\/.*:2379"/ETCD_ADVERTISE_CLIENT_URLS="http:\/\/0.0.0.0:2379"/' /etc/etcd/etcd.conf
启动并验证状态
systemctl start etcd
etcdctl set testdir/testkey0 0
etcdctl get testdir/testkey0
etcdctl -C http://主机名1:2379 cluster-health
----member 8e9e05c52164694d is healthy: got healthy result from http://0.0.0.0:2379
cluster is healthy

3,安装master节点
3.1,Docker安装
配置镜像路径
cat > /etc/yum.repos.d/virt7-docker-common-release.repo << EOF
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
EOF
链接网络
yum -y install --enablerepo=virt7-docker-common-release
配置registry镜像库,表示可以从节点上拉取镜像 即为registry节点
编辑/etc/sysconfig/docker文件
sed -i 's/OPTIONS=\x27--selinux-enabled --log-driver=journald --signature-verification=false.*\x27/OPTIONS=\x27--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https:\/\/wzmto2ol.mirror.aliyuncs.com --insecure-registry 主机名1:5000 --add-registry 主机名1:5000\x27/' /etc/sysconfig/docker

设置开机自启动并开启服务
chkconfig docker on
service docker start

3.2,安装kubernetes:
master节点需要运行Kubernets API Server,Kubernets Controller Manager,Kubernets Scheduler组件
配置Kubernets API Server
编辑/etc/kubernetes/apiserver
 sed -i 's/KUBE_API_ADDRESS="--insecure-bind-address=.*"/KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"/;s/KUBE_ETCD_SERVERS="--etcd-servers=http:\/\/.*:2379"/KUBE_ETCD_SERVERS="--etcd-servers=http:\/\/主机名1:2379"/' /etc/kubernetes/apiserver

 #去掉权限检查以免unable to create pods: No API token found for service account "default"
 sed -i 's/KUBE_ADMISSION_CONTROL=.*/KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"/' /etc/kubernetes/apiserver

编辑 /etc/kubernetes/config
sed -i 's/KUBE_MASTER="--master=http:\/\/.*:8080"/KUBE_MASTER="--master=http:\/\/主机名1:8080"/' /etc/kubernetes/config

注意:主节点也要编辑 /etc/kubernetes/kubelet 不然启动的时候是 127.0.0.1 不是主节点的名称
sed -i 's/KUBELET_ADDRESS="--address=.*"/KUBELET_ADDRESS="--address=0.0.0.0"/;s/KUBELET_HOSTNAME="--hostname-override=.*"/KUBELET_HOSTNAME="--hostname-override=主机名1"/;s/KUBELET_API_SERVER="--api-servers=http:\/\/.*:8080"/KUBELET_API_SERVER="--api-servers=http:\/\/主机名1:8080"/;s/KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=.*"/KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=主机名1:5000\/pod-infrastructure"/;s/KUBELET_ARGS=.*/KUBELET_ARGS="--cluster-dns=10.254.10.2 --cluster-domain=hi --allow-privileged=true"/' /etc/kubernetes/kubelet


启动服务并设置开机自启动
systemctl enable kube-apiserver.service
systemctl start kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl start kube-controller-manager.service
systemctl enable kube-scheduler.service
systemctl start kube-scheduler.service

4,部署salve节点
4.1, 安装docker  注意注意:这里也要修改配置文件/etc/sysconfig/docker
4.2 ,安装kubernetes
4.3 ,配置并启动kubernetes
在salve节点上需要运行以下两个组件 Kubelet , Kubernets Proxy
4.3.1 /etc/kubernetes/config
sed -i 's/KUBE_MASTER="--master=http:\/\/.*:8080"/KUBE_MASTER="--master=http:\/\/主机名1:8080"/' /etc/kubernetes/config

编辑 /etc/kubernetes/kubelet
注意这里的主机名2为从节点的主机名  需更换,主机名1为master节点 ,第二主机名1为自身镜像资源库节点
  sed -i 's/KUBELET_ADDRESS="--address=.*"/KUBELET_ADDRESS="--address=0.0.0.0"/;s/KUBELET_HOSTNAME="--hostname-override=.*"/KUBELET_HOSTNAME="--hostname-override=主机名2"/;s/KUBELET_API_SERVER="--api-servers=http:\/\/.*:8080"/KUBELET_API_SERVER="--api-servers=http:\/\/主机名1:8080"/;s/KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=.*"/KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=主机名1:5000\/pod-infrastructure"/;s/KUBELET_ARGS=.*/KUBELET_ARGS="--cluster-dns=10.254.10.2 --cluster-domain=hi --allow-privileged=true"/' /etc/kubernetes/kubelet

 

启动服务并设置开机自启动
systemctl enable kubelet.service
systemctl start kubelet.service
systemctl enable kube-proxy.service
systemctl start kube-proxy.service

验证结果
[root@主机名1 ~]# kubectl -s http://主机名1:8080 get node
NAME      STATUS    AGE
主机名2   Ready     24s
主机名3   Ready     23s

[root@主机名1 ~]# kubectl get nodes
NAME      STATUS    AGE
主机名2   Ready     1m
主机名3   Ready     1m

5,创建覆盖网络--Flannel
Flannel一个网络管理工具,在master节点与slave节点中都需安装

yum install flannel
master、node上均编辑/etc/sysconfig/flanneld
这里的主机名1为etcd服务的节点的主机名
  sed -i 's/FLANNEL_ETCD_ENDPOINTS="http:\/\/.*:2379"/FLANNEL_ETCD_ENDPOINTS="http:\/\/主机名1:2379"/;s/FLANNEL_ETCD_PREFIX=".*"/FLANNEL_ETCD_PREFIX="\/kube-centos\/network"/' /etc/sysconfig/flanneld

在master节点中配置上文FLANNEL_ETCD_PREFIX对应文件/kube-centos/network的值
etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{ \"Network\": \"192.168.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"

剩下就是部署kubernetes-dashboard.yaml, kube-dns_14了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值