CentOS8安装docker及CentOS7安装k8s 1.CentOS8安装docker 依次执行以下命令 //先移除旧版docker
- yum remove docker \
- docker‐client \
- docker‐client‐latest \
- docker‐common \
- docker‐latest \
- docker‐latest‐logrotate \
- docker‐logrotate \
- docker‐engine
- yum update //安装更新大概250M
- dnf install download.docker.com/linux/cento… kages/containerd.io‐1.2.6‐3.3.el7.x86_64.rpm
- yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2
- yum‐config‐manager ‐‐add‐repo download.docker.com/linux/cento s/docker‐ce.repo
- yum install docker‐ce docker‐ce‐cli containerd.io
- systemctl start docker
- systemctl enable docker
查看docker版本 docker ‐v
CentOS7安装k8s*
首先准备两台机器:k8s-master、k8s-node1、k8s-node2
- yum update //耗时
- yum ‐y install epel‐release
- systemctl stop firewalld
- systemctl disable firewalld
- setenforce 0
- yum ‐y install etcd kubernetes‐master
- vi /etc/etcd/etcd.conf
- vi /etc/kubernetes/apiserver
- for SERVICES in etcd kube‐apiserver kube‐controller‐manager kube‐schedule
- r; do systemctl restart SERVICES;systemctl stat
- us $SERVICES ; doneer
- etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
node节点命令:(vi 内容最下面)
- yum update //耗时
- yum ‐y install epel‐release
- systemctl stop firewalld
- systemctl disable firewalld
- setenforce 0
- yum ‐y install flannel kubernetes‐node
- vi /etc/sysconfig/flanneld
- vi /etc/kubernetes/config
- vi /etc/kubernetes/kubelet
- for SERVICES in kube‐proxy kubelet docker flanneld;do systemctl restart
SERVICES;systemctl status $SERVICES; done vi /etc/etcd/etcd.conf
- #[Member]
- #ETCD_CORS=""
- ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
- #ETCD_WAL_DIR=""
- #ETCD_LISTEN_PEER_URLS="http://localhost:2380"
- ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" //此处IP改为0.0.0.0
- #ETCD_MAX_SNAPSHOTS="5"
- #ETCD_MAX_WALS="5"
- ETCD_NAME="default"
- #ETCD_SNAPSHOT_COUNT="100000"
- #ETCD_HEARTBEAT_INTERVAL="100"
- #ETCD_ELECTION_TIMEOUT="1000"
- #ETCD_QUOTA_BACKEND_BYTES="0"
- #ETCD_MAX_REQUEST_BYTES="1572864"
- #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
- #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
- #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
- #[Clustering]
- #ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
- ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
- #ETCD_DISCOVERY=""
- #ETCD_DISCOVERY_FALLBACK="proxy"
- #ETCD_DISCOVERY_PROXY=""
- #ETCD_DISCOVERY_SRV=""
- #ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
- #ETCD_INITIAL_CLUSTER_TOKEN="etcd‐cluster"
- #ETCD_INITIAL_CLUSTER_STATE="new"
- #ETCD_STRICT_RECONFIG_CHECK="true"
- #ETCD_ENABLE_V2="true"
- #[Proxy]
- #ETCD_PROXY="off"
- #ETCD_PROXY_FAILURE_WAIT="5000"
- #ETCD_PROXY_REFRESH_INTERVAL="30000"
- #ETCD_PROXY_DIAL_TIMEOUT="1000"
- #ETCD_PROXY_WRITE_TIMEOUT="5000"
- #ETCD_PROXY_READ_TIMEOUT="0"
- #[Security]
- #ETCD_CERT_FILE=""
- #ETCD_KEY_FILE=""
- #ETCD_CLIENT_CERT_AUTH="false"
- #ETCD_TRUSTED_CA_FILE=""
- #ETCD_AUTO_TLS="false"
- #ETCD_PEER_CERT_FILE=""
- #ETCD_PEER_KEY_FILE=""
- #ETCD_PEER_CLIENT_CERT_AUTH="false"
- #ETCD_PEER_TRUSTED_CA_FILE=""
- #ETCD_PEER_AUTO_TLS="false"
- #[Logging]
- #ETCD_DEBUG="false"
- #ETCD_LOG_PACKAGE_LEVELS=""
- #ETCD_LOG_OUTPUT="default"
- #[Unsafe]
- #ETCD_FORCE_NEW_CLUSTER="false"
- #[Version]
- #ETCD_VERSION="false"
- #ETCD_AUTO_COMPACTION_RETENTION="0"
- #[Profiling]
- #ETCD_ENABLE_PPROF="false"
- #ETCD_METRICS="basic"
- #[Auth]
- #ETCD_AUTH_TOKEN="simple"
vi /etc/kubernetes/apiserver
-
kubernetes system config
-
The following values are used to configure the kube‐apiserver
-
The address on the local server to listen to.
- KUBE_API_ADDRESS="‐‐insecure‐bind‐address=0.0.0.0" //修改此处为0.0.0.0
-
The port on the local server to listen on.
- KUBE_API_PORT="‐‐port=8080"
-
Port minions listen on
- KUBELET_PORT="‐‐kubelet‐port=10250"
-
Comma separated list of nodes in the etcd cluster
- KUBE_ETCD_SERVERS="‐‐etcd‐servers=http://127.0.0.1:2379"
-
Address range to use for services
- KUBE_SERVICE_ADDRESSES="‐‐service‐cluster‐ip‐range=10.254.0.0/16"
-
default admission control policies
- KUBE_ADMISSION_CONTROL="‐‐admission‐control=NamespaceLifecycle,Namespace
- Exists,LimitRanger,SecurityContextDeny,ResourceQuota"
-
Add your own!
- KUBE_API_ARGS=""
vi /etc/sysconfig/flanneld
-
Flanneld configuration options
-
etcd url location. Point this to the server where etcd runs
- FLANNEL_ETCD_ENDPOINTS="http://192.168.146.135:2379" //此处为master节点ip
-
etcd config key. This is the configuration key that flannel queries
-
For address range assignment
- FLANNEL_ETCD_PREFIX="/atomic.io/network"
-
Any additional options that you want to pass
- #FLANNEL_OPTIONS=""
vi /etc/kubernetes/config
-
kubernetes system config
-
The following values are used to configure various aspects of all
-
kubernetes services, including
-
kube‐apiserver.service
-
kube‐controller‐manager.service
-
kube‐scheduler.service
-
kubelet.service
-
kube‐proxy.service
-
logging to stderr means we get it in the systemd journal
- KUBE_LOGTOSTDERR="‐‐logtostderr=true"
-
journal message level, 0 is debug
- KUBE_LOG_LEVEL="‐‐v=0"
-
Should this cluster be allowed to run privileged docker containers
- KUBE_ALLOW_PRIV="‐‐allow‐privileged=false"
-
How the controller‐manager, scheduler, and proxy find the apiserver
- KUBE_MASTER="‐‐master=http://192.168.146.135:8080" //master节点IP
vi /etc/kubernetes/kubelet
-
kubernetes kubelet (minion) config
-
The address for the info server to serve on (set to 0.0.0.0 or "" for a
- ll interfaces)
- KUBELET_ADDRESS="‐‐address=0.0.0.0" //改为0.0.0.0
-
The port for the info server to serve on
- KUBELET_PORT="‐‐port=10250"
-
You may leave this blank to use the actual hostname
- KUBELET_HOSTNAME="‐‐hostname‐override=192.168.146.136" //改为node节点ip
-
location of the api‐server
- KUBELET_API_SERVER="‐‐api‐servers=http://192.168.146.135:8080" //master节
- 点ip
-
pod infrastructure container
- KUBELET_POD_INFRA_CONTAINER="‐‐pod‐infra‐container‐image=registry.acces
- s.redhat.com/rhel7/pod‐infrastructure:latest"
-
Add your own!
- KUBELET_ARGS=""
测试:
- //ip135的master节点输入
- kubectl get nodes
注意:所有"//"注释内容都需要删掉,"#"不需要删 master机器命令:(vi 内容最下面)