系统配置过程参加我的kubernetes安装文档,下面详解安装流程.。
一 Master安装
Master上需要安装etcd、kube-apiserver、kube-controller-manager、kube-scheduler
1 etcd服务
1.1 安装etcd
将etcd和etcdctl文件复制到/usr/bin目录
cp etcd etcdctl /usr/bin/
添加环境变量
vi /root/.bash_profile
source /root/.bash_profile
1.2 设置systemd服务文件
创建etcd工作目录
mkdir -p /app/etcd/data
mkdir -p /app/etcd/work
创建服务文件
vi /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
[Service]
Type=simple
WorkingDirectory=/app/etcd/work
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd
[Install]
WantedBy=multi-user.target
编辑etcd配置文件
mkdir -p /etc/etcd/
vi /etc/etcd/etcd.conf
ETCD_NAME=k8setcd
ETCD_DATA_DIR="/app/etcd/data/k8setcd.etcd"
ETCD_LISTEN_CLIENT_URLS="http://192.168.200.221:2379,http://127.0.0.1:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://127.0.0.1:2379"
1.3 启动etcd服务
systemctl daemon-reload
systemctl enable etcd.service
systemctl start etcd.service
1.4 验证etcd服务
etcdctl endpoint health
2 kube-apiserver服务
2.1 复制kubernetes相关二进制文件
将kube-apiserver、kube-controller-manager和kube-scheduler等文件复制到/usr/bin目录下
2.2 设置apiserver服务文件
vi /usr/lib/systemd/system/kube-apiserver.service
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=etcd.service
Wants=etcd.service
[Service]
EnvironmentFile=/etc/kubernetes/apiserver
ExecStart=/usr/bin/kube-apiserver $KUBE_API_ARGS
Restart=on-failure
Type=notify
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
编辑配置文件
扫描二维码关注公众号,回复:
3052856 查看本文章
mkdir -p /etc/kubernetes
vi /etc/kubernetes/apiserver
KUBE_API_ARGS="--storage-backend=etcd3 --etcd-servers=http://127.0.0.1:2379 --insecure-bind-address=0.0.0.0 --insecure-port=8080 --service-cluster-ip-range=169.169.0.0/16 --service-node-port-range=1-65535 --admission-control=NamespaceLifecycle,LimitRanger,ResourceQuota --logtostderr=false --log-dir=/app/kubernets/log --v=2"
3 kube-controller-manager服务
3.1 设置kube-controller-manager服务文件
vi /usr/lib/systemd/system/kube-controller-manager.service
[Unit]
Description=Kubernetes Controller Manager
Documentation=https//github.com/GoogleCloudPlatform/kubernetes
After=kube-apiserver.service
Requires=kube-apiserver.service
[Service]
EnvironmentFile=/etc/kubernetes/controller-manager
ExecStart=/usr/bin/kube-controller-manager $KUBE_CONTROLLER_MANAGER_ARGS
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
编辑kube-controller-manager配置文件
vi /etc/kubernetes/controller-manager
KUBE_CONTROLLER_MANAGER_ARGS="--master=http://192.168.200.221:8080 --logtostderr=true --log-dir=/app/kubernets/log --v=2"
4 kube-scheduler服务
4.1 设置kube-scheduler服务文件
vi /usr/lib/systemd/system/kube-scheduler.service
[Unit]
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=kube-apiserver.service
Requires=kube-apiserver.service
[Service]
EnvironmentFile=/etc/kubernetes/scheduler
ExecStart=/usr/bin/kube-scheduler $KUBE_SCHEDULER_ARGS
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
编辑kube-scheduler配置文件
vi /etc/kubernetes/scheduler
KUBE_SCHEDULER_ARGS="--master=http://192.168.200.221:8080 --logtostderr=false --log-dir=/app/kubernets/log --v=2"
4 启动服务
systemctl daemon-reload
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
可以通过
systemctl status kube-apiserver.service 或者 journalctl -xe
查看服务启动状态
二 node安装
1 kubelet服务
1.1 设置kubelet服务
vi /usr/lib/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=docker.service
Requires=docker.service
[Service]
WorkingDirectory=/app/kubernetes/kubelet
EnvironmentFile=/etc/kubernetes/kubelet
ExecStart=/usr/bin/kubelet $KUBELET_ARGS
Restart=on-failure
[Install]
WantedBy=multi-user.target
1.2 配置文件
KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubelet.kubeconfig --hostname-override=192.168.200.223 --logtostderr=false --log-dir=/app/kubernets/log --v=2"
1.3 kubelet.kubeconfig
apiVersion: v1
kind: Config
clusters:
- cluster:
server: http://192.168.200.221:8080
name: local
contexts:
- context:
cluster: local
name: local
current-context: local
2 kube-proxy服务
2.1 设置kubelet服务
vi /usr/lib/systemd/system/kube-proxy.service
[Unit]
Description=Kubernetes Kube-Proxy Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=network.service
Requires=network.service
[Service]
EnvironmentFile=/etc/kubernetes/proxy
ExecStart=/usr/bin/kube-proxy $KUBE_PROXY_ARGS
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
2.2 配置文件
KUBE_PROXY_ARGS="--master=http://192.168.200.221:8080 --logtostderr=false --log-dir=/app/kubernets/log --v=2"
3 启动服务
systemctl daemon-reload
systemctl enable kubelet.service
systemctl start kubelet.service
systemctl enable kube-proxy.service
systemctl start kube-proxy.service
可以通过
systemctl status kube-proxy.service 或者 journalctl -xe
查询服务启动状态