centos 7 部署k8s集群

前期准备

systemctl stop firewalld
systemctl disable firewalld

yum -y install ntp

systemctl start ntpd
systemctl enable ntpd

yum update -y

 

安装etcd  Kubernetes 

yum -y install etcd kubernetes  flannel

 

配置etcd

[root@kubernetes-master ~]# egrep -v "^#|^$" /etc/etcd/etcd.conf
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

 

配置k8s api

[root@kubernetes-master ~]# egrep -v "^#|^$" /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_ETCD_SERVERS="--etcd-servers=http://10.64.8.68:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
KUBE_API_ARGS=""

 

配置flannel网络

[root@kubernetes-master ~]# egrep -v "^#|^$" /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://10.64.8.68:2379"
FLANNEL_ETCD_PREFIX="/atomic.io/network"

 

启动etcd k8s服务

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES 
done

 

定义flannel network

[root@kubernetes-master ~]# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

打通网络

[root@localhost data]# etcdctl  ls /atomic.io/network/subnets

/atomic.io/network/subnets/172.17.35.0-24
/atomic.io/network/subnets/172.17.42.0-24
/atomic.io/network/subnets/172.17.67.0-24

[root@localhost data]#  etcdctl get /atomic.io/network/subnets/172.17.35.0-24

{"PublicIP":"192.168.0.164"}

可以看到164 上面的网段为172.17.35.0/24

 每个机器上执行

[root@192-168-0-154 ~]# rm -y /var/run/docker.pid
[root@192-168-0-154 ~]# source /run/flannel/subnet.env
[root@192-168-0-154 ~]# ifconfig docker0 ${FLANNEL_SUBNET}

然后重启 docker

systemctl restart docker

这样容器之间网络就打通了

配置Kubernetes Minions (Nodes节点都执行一遍)

yum -y install flannel kubernetes

配置/etc/sysconfig/flanneld

[root@kubernetes-node2 ~]# egrep -v "^#|^$" /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://10.64.8.68:2379"
FLANNEL_ETCD_PREFIX="/atomic.io/network"
FLANNEL_OPTIONS="" #这里可以指定哪个网卡-iface=ens192

 

配置k8s   /etc/kubernetes/config

[root@kubernetes-node2 ~]# egrep -v "^#|^$" /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://10.64.8.68:8080"

 

配置kubelet服务 /etc/kubernetes/kubelet 

[root@kubernetes-node2 ~]# egrep -v "^#|^$" /etc/kubernetes/kubelet 
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname-override=10.64.8.70" #这个是节点自己的IP
KUBELET_API_SERVER="--api-servers=http://10.64.8.68:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

 

 

启动服务

for SERVICES in kube-proxy kubelet docker flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES 
done

 

查询相关节点

[root@kubernetes-master ~]# kubectl get nodes
NAME STATUS AGE
10.64.8.69 Ready 5d
10.64.8.70 Ready 5d
10.64.8.72 Ready 5d

转载于:https://www.cnblogs.com/Tempted/p/7690698.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署Kubernetes集群需要多台物理机或虚拟机,每个节点至少需要2个CPU、2GB内存和20GB硬盘空间。以下是CentOS 7上部署Kubernetes集群的步骤: 1. 安装Docker 在每个节点上安装Docker,可以使用以下命令: ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce sudo systemctl enable docker sudo systemctl start docker ``` 2. 禁用Swap 在每个节点上禁用Swap,可以使用以下命令: ``` sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab ``` 3. 安装Kubernetes组件 在每个节点上安装Kubernetes组件,可以使用以下命令: ``` sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet sudo systemctl start kubelet ``` 4. 初始化Kubernetes Master节点 选择一个节点作为Kubernetes Master节点,运行以下命令进行初始化: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此命令将初始化Kubernetes Master节点并生成join命令。请记录下生成的join命令,以便稍后将节点加入集群。 5. 安装网络插件 在Kubernetes集群中,网络插件用于连接容器。在Master节点上安装网络插件,可以使用以下命令: ``` sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml ``` 6. 将节点加入集群 将每个节点加入Kubernetes集群,可以使用在第4步中生成的join命令。例如: ``` sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash <hash> ``` 其中,`<master-ip>`和`<master-port>`是Kubernetes Master节点的IP地址和端口号,`<token>`和`<hash>`是在第4步中生成的token和hash。 7. 验证集群 使用以下命令验证Kubernetes集群是否正常工作: ``` sudo kubectl get nodes ``` 如果一切正常,将显示所有节点的状态。现在,您已经成功地在CentOS 7上部署了Kubernetes集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值