# 环境准备
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vi /etc/hosts
10.0.0.11 k8s-master
10.0.0.12 k8s-node1
10.0.0.13 k8s-node2
scp -rp /etc/hosts root@10.0.0.12:/etc/hosts
scp -rp /etc/hosts root@10.0.0.13:/etc/hosts
# master
yum install -y etcd
sed -i 's/^ETCD_LISTEN_CLIENT_URLS=/ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"/' /etc/etcd/etcd.conf
sed -i 's/^ETCD_ADVERTISE_CLIENT_URLS=/ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"/' /etc/etcd/etcd.conf
systemctl start etcd.service
systemctl enable etcd.service
yum install -y kubernetes-master.x86_64
sed -i 's/^KUBE_API_ADDRESS=/KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"/' /etc/kubernetes/apiserver
sed -i 's/^# KUBE_API_PORT=/KUBE_API_PORT="--port=8080"/' /etc/kubernetes/apiserver
sed -i 's/^# KUBELET_PORT=/KUBELET_PORT="--kubelet-port=10250"/' /etc/kubernetes/apiserver
sed -i 's/^KUBE_ETCD_SERVERS=/KUBE_ETCD_SERVERS="--etcd-servers=http://10.0.0.11:2379"/' /etc/kubernetes/apiserver
sed -i 's/^KUBE_MASTER=/KUBE_MASTER="--master=http://10.0.0.11:8080"/' /etc/kubernetes/config
systemctl start kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl start kube-schedule.service
systemctl enable kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl enable kube-schedule.service
kubectl get componentstatus
# node
yum install -y kubernetes-node.x86_64
sed -i 's/^KUBE_MASTER=/KUBE_MASTER="--master=http://10.0.0.11:8080"/' /etc/kubernetes/config
sed -i 's/^KUBELET_ADDRESS=/KUBELET_ADDRESS="--address=10.0.0.11"/' /etc/kubernetes/kubelet
sed -i 's/^# KUBELET_PORT=/KUBELET_PORT="--port=10250"/' /etc/kubernetes/kubelet
sed -i 's/^KUBELET_HOSTNAME=/KUBELET_HOSTNAME="--hostname-override=k8s-master"/' /etc/kubernetes/kubelet
sed -i 's/^KUBELET_API_SERVERS=/KUBELET_API_SERVERS="--api-servers=http://10.0.0.11:8080"/' /etc/kubernetes/kubelet
# master etcd 2379
# master apiserver 8080
# node kubelet 10250
systemctl start docker
systemctl start kubelet.service
systemctl start kube-proxy.service
systemctl enable docker
systemctl enable kubelet.service
systemctl enable kube-proxy.service
kubectl get nodes
# flannel,用于容器网络互通
yum install -y flannel
sed -i 's/^FLANNEL_ETCD_ENDPOINTS=/FLANNEL_ETCD_ENDPOINTS="http://10.0.0.11:2379"/' /etc/sysconfig/flanneld
etcdctl set /atomic.io/network/config '{"Network":"172.16.0.0/16"}'
systemctl restart flannel.service
systemctl enable flannel.service
systemctl restart kube-apiserver.service
systemctl restart kube-controller-manager.service
systemctl restart kube-schedule.service
systemctl restart docker
systemctl restart kubelet.service
systemctl restart kube-proxy.service
ifconfig
docker pull busybox
rz -e
docker load -i docker_busybox.tar.gz
scp -rp docker_busybox.tar.gz root@10.0.0.12:/tmp
scp -rp docker_busybox.tar.gz root@10.0.0.13:/tmp
docker run -it busybox
sed -i "17a ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT" /usr/lib/systemd/system/docker.service
systemctl daemon-reload
# 自建仓库reqistry
docker run -d -p 5000:5000 -v /data/data/docker_images:/tmp/reqistry --privileqed=true reqistry
docker commit -m="my commit" -a="boom" a69d7c825c4f boom_centos:1.2
docker tag boom_centos:1.2 10.0.0.11:5000/boom_centos:1.2
docker push 10.0.0.11:5000/boom_centos:1.2
docker pull 10.0.0.11:5000/boom_centos:1.2
k8s基础_安装
于 2025-04-04 12:20:33 首次发布