centos系统安装kubectl和部署kube-apiserver的详细过程
作者:march of Time
1.使用 yum 安装(推荐)
添加 Kubernetes 软件源:
首先,你需要添加 Kubernetes 的官方 YUM 软件源。这可以通过下载并安装 kubernetes.repo 文件来实现。
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
安装 kubectl:
使用 yum 安装 kubectl。
sudo yum install -y kubectl
验证安装:
验证 kubectl 是否正确安装,并检查版本。
kubectl version --client
2.使用 curl 和 tar 安装
下载 kubectl:
使用 curl 下载最新版本的 kubectl。
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
添加执行权限:
为下载的 kubectl 文件添加执行权限。
chmod +x ./kubectl
移动到 /usr/local/bin:
将 kubectl 移动到 /usr/local/bin 目录,使其全局可用。
sudo mv ./kubectl /usr/local/bin/kubectl
验证安装:
验证 kubectl 是否正确安装,并检查版本。
kubectl version --client
部署kube-apiserver
安装 kube-apiserver
首先,你需要获取 Kubernetes 的二进制文件。你可以从 Kubernetes 的 GitHub 仓库下载所需的版本。以下命令展示了如何下载 Kubernetes 1.29.4 版本的二进制文件并解压:
wget https://github.com/kubernetes/kubernetes/archive/v1.29.4.tar.gz tar -zxvf v1.29.4.tar.gz cd kubernetes-1.29.4
然后,将 kube-apiserver 拷贝到 /usr/local/bin 目录下:
sudo cp _output/bin/kube-apiserver /usr/local/bin/
- 准备 kube-apiserver 的配置文件
创建 kube-apiserver 的配置文件 /etc/kubernetes/manifests/kube-apiserver.yaml:
cat <<EOF | sudo tee /etc/kubernetes/manifests/kube-apiserver.yaml apiVersion: v1 kind: Pod metadata: name: kube-apiserver namespace: kube-system spec: hostNetwork: true containers: - name: kube-apiserver image: k8s.gcr.io/kube-apiserver:v1.29.4 command: - kube-apiserver - --advertise-address=<MASTER_IP> # 替换为 Master 节点的 IP 地址 - --allow-privileged=true - --apiserver-count=3 - --authorization-mode=Node,RBAC - --client-ca-file=/etc/kubernetes/ssl/ca.pem - --etcd-cafile=/etc/kubernetes/ssl/ca.pem - --etcd-certfile=/etc/kubernetes/ssl/etcd-client.pem - --etcd-keyfile=/etc/kubernetes/ssl/etcd-client-key.pem - --etcd-servers=https://<ETCD_IP>:2379 # 替换为 etcd 服务器的地址 - --insecure-bind-address=0.0.0.0 - --kubelet-client-certificate=/etc/kubernetes/ssl/apiserver-kubelet-client.crt - --kubelet-client-key=/etc/kubernetes/ssl/apiserver-kubelet-client.key - --kubelet-https=true - --service-account-key-file=/etc/kubernetes/ssl/ca-key.pem - --service-cluster-ip-range=10.254.0.0/16 - --tls-cert-file=/etc/kubernetes/ssl/apiserver.crt - --tls-private-key-file=/etc/kubernetes/ssl/apiserver.key - --service-node-port-range=30000-50000 - --audit-log-path=/var/log/kube-audit/audit.log - --audit-log-maxage=30 - --audit-log-maxbackup=3 - --audit-log-maxsize=100 - --v=2 EOF
确保替换 <MASTER_IP> 和 <ETCD_IP> 为你的实际 IP 地址。
- 创建 kube-apiserver 服务
创建 kube-apiserver 的 systemd 服务文件:
sudo vim /usr/lib/systemd/system/kube-apiserver.service
添加以下内容:
[Unit] Description=Kubernetes API Server Documentation=https://github.com/kubernetes/kubernetes [Service] EnvironmentFile=/etc/kubernetes/config/kube-apiserver.conf ExecStart=/usr/local/bin/kube-apiserver $KUBE_APISERVER_OPTS Restart=on-failure [Install] WantedBy=multi-user.target
- 启动 kube-apiserver 服务
sudo systemctl daemon-reload sudo systemctl enable kube-apiserver sudo systemctl start kube-apiserver
- 验证 kube-apiserver 是否运行
sudo systemctl status kube-apiserver
到此这篇关于centos系统如何安装kubectl和部署kube-apiserver的文章就介绍到这了,更多相关安装kubectl和部署kube-apiserver内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!