国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

服務(wù)器-Kubernetes (K8S)單機(jī)部署實(shí)戰(zhàn) -- 001

這篇具有很好參考價值的文章主要介紹了服務(wù)器-Kubernetes (K8S)單機(jī)部署實(shí)戰(zhàn) -- 001。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

? ? ?本篇博文是 centos 7 系統(tǒng)安裝 kubernetes 單機(jī) master 節(jié)點(diǎn)操作。

一: 查看 服務(wù)器 配置信息

? ? ? 1. 執(zhí)行命令查看服務(wù)器cpu信息。安裝 kubernetes 服務(wù),cpu核心數(shù)必須大于2,內(nèi)存大于2G。

lscpu

? ? ? 2.? 修改服務(wù)器設(shè)置信息,避免安裝出現(xiàn)問題。

? ? ? ? a.? 臨時關(guān)閉swap,防止 執(zhí)行 kubeadm 命令爆錯。

swapoff -a

? ? ? ?b. 臨時關(guān)閉 selinux,減少不必要的配置。

setenforce 0

? ? ? c. 關(guān)閉防火墻?

systemctl stop firewalld
systemctl disable firewalld

? ? ? d. 設(shè)置網(wǎng)橋信息

cat << EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

? ? ?e. 修改 主機(jī)名為 master?

hostnamectl set-hostname master

? ? ? f. 修改 hosts 文件,設(shè)置 master 主機(jī)名稱和本機(jī)IP 映射關(guān)系

10.0.0.206 master

?文章來源地址http://www.zghlxwxcb.cn/news/detail-825238.html

二: 安裝并配置 docker

? ?1. 安裝必須工具

yum install -y yum-utils device-mapper-persistent-data lvm2

? 2. 添加 阿里云 yum 倉庫 repo

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

? 3. 安裝 docker?

yum -y install docker-ce

? 4. 修改 docker 的? ?/etc/docker/daemon.json 文件。如果文件不存在,則創(chuàng)建新的。

? ? ? a. 設(shè)置 阿里云國內(nèi) docker 源

? ? ? b.? 設(shè)置 cgroupdriver 為 systemd

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xcjha0pw.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

? ?5. 修改完后,使用新配置 重啟 docker 服務(wù)。

sudo systemctl daemon-reload
sudo systemctl restart docker

? ?6. 設(shè)置 docker 服務(wù)開機(jī)自啟動

systemctl enable docker

? ?7. 生成 containerd 配置信息,并修改 兩處相關(guān)配置。

? ? ? # 生成 containerd 的默認(rèn)配置文件
? ? ? containerd config default > /etc/containerd/config.toml

? ? ?a. 修改1 修改 sandbox_image 鏡像配置,改為阿里鏡像。

? ? ? ? ? ?# 查看 sandbox 的默認(rèn)鏡像倉庫在文件中的第幾行
? ? ? ? ? ?cat /etc/containerd/config.toml | grep -n "sandbox_image"

? ? ? ? ? # 使用 vim 編輯器 定位到 sandbox_image,將 倉庫地址修改成 阿里鏡像
? ? ? ? ? ? vim /etc/containerd/config.toml

? ? ? ? ? ? sandbox_image = " registry.aliyuncs.com/google_containers/pause:3.6"

? ? ? ?b. 修改2? 注釋掉 cri 插件,否則?kubelet 無法啟動。

sed -i -r '/cri/s/(.*)/#\1/' /etc/containerd/config.toml
systemctl restart containerd

? ? ? # 重啟 containerd 服務(wù)
? ? systemctl daemon-reload
? ? systemctl restart containerd

?

?

三:kubernetes 安裝操作步驟

? ? ? 1. 配置 kubernetes 下載源。使用國內(nèi)阿里云 yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

? ? ?2. 安裝 kubernetes 服務(wù)的相關(guān)應(yīng)用 kubectl, kubeadm, kubectl?

? ? ? ?kubelet:? 運(yùn)行在 cluster, 負(fù)責(zé)啟動 pod,并管理容器。

? ? ? ?kubeadm:? kubernetes 快速構(gòu)建工具,用于初始化 cluster。

? ? ? ?kubectl: kubernetes 命令工具。進(jìn)行服務(wù)的部署和管理。

yum install -y --nogpgcheck kubelet-1.28.2 kubeadm-1.28.2 kubectl-1.28.2?

? ? ?3. 查看安裝結(jié)果

kubelet --version
kubectl version
kubeadm version

? ? 4. 啟動?kubelet 服務(wù)

systemctl daemon-reload
systemctl start kubelet
systemctl enable kubelet

? ? 5.? 生成 kubernetes? 初始化配置文件 init-config.yaml, 并根據(jù)實(shí)際情況修改 3 處

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 10.0.0.206   //修改1 master節(jié)點(diǎn)IP地址 可cat /etc/hosts 看到
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  imagePullPolicy: IfNotPresent
  name: master   //修改2 master節(jié)點(diǎn)node的名稱
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers   //修改3 修改為阿里云地址
kind: ClusterConfiguration
kubernetesVersion: 1.28.0
networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 scheduler: {}

? ?6.? 下載 kubernetes 相關(guān)鏡像

? ?注意執(zhí)行目錄在? init-config.yaml 文件目錄

kubeadm config images pull --config=init-config.yaml

? 當(dāng)鏡像拉取失敗,通過命令獲取所有需要的鏡像,然后一個個拉取

kubeadm config images list --config init-config.yaml

結(jié)果如下(不同版本有差別):

registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.0
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.0
registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.0
registry.aliyuncs.com/google_containers/kube-proxy:v1.28.0
registry.aliyuncs.com/google_containers/pause:3.9
registry.aliyuncs.com/google_containers/etcd:3.5.9-0
registry.aliyuncs.com/google_containers/coredns:v1.10.1

? ?7.? 運(yùn)行 kubeadm 初始化操作,進(jìn)行master 節(jié)點(diǎn)安裝

kubeadm init --apiserver-advertise-address=10.0.0.206 --apiserver-bind-port=6443 --pod-network-cidr=10.244.0.0/16  --service-cidr=10.96.0.0/12 --kubernetes-version=1.28.2 --image-repository registry.aliyuncs.com/google_containers

? ?8.? 如果安裝失敗,重置集群初始化,然后再執(zhí)行 7 步驟。

kubeadm reset

? ?9.? 在 master 節(jié)點(diǎn)服務(wù)執(zhí)行如下命令,進(jìn)行 管理員信息配置,方便獲取 token 信息。

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

? ? 當(dāng)重置集群后,需同步刪除 $HOME/.kube 目錄

rm -rf $HOME/.kube

? ? ?10. 當(dāng)需要在 master 節(jié)點(diǎn)上布署服務(wù)時(啟動pod),則需要修改master 節(jié)點(diǎn)污點(diǎn)配置

? ? ?查看污點(diǎn)信息:

? ? ?kubectl describe node master |grep Taints

? ? ?結(jié)果:??Taints:? ? ? ? ? ? ?node-role.kubernetes.io/control-plane:NoSchedule

? ? ? 去除污點(diǎn)NoSchedule,最后一個"-"代表刪除

? ? ? ?kubectl taint nodes master node-role.kubernetes.io/control-plane:NoSchedule-

? ? ? 備注:

? ? ? ? ?NoSchedule : 一定不被調(diào)度 但是不會驅(qū)逐已有的 這個部署 ingress-controller 的時候 有用
? ? ? ? ?PreferNoSchedule : 盡量不被調(diào)度
? ? ? ? ?NoExecute : 不會調(diào)度,并且還會驅(qū)逐Node已有Pod 這個很壞

? ? ? 11.? 修改 kubernetes 布署服務(wù)時,使用的端口范圍。如果不需要調(diào)整,可以不用修改。

? ? ? ? ? ? ? ? ? k8s的node節(jié)點(diǎn)的端口默認(rèn)被限制在30000-32767的范圍

? ? ? ? ? 編輯 kube-apiserver.yaml文件
? ? ? ? ? ?vi /etc/kubernetes/manifests/kube-apiserver.yaml
? ? ? ? ? 在spec.containers.command的最后面加上
? ? ? ? ? ? ? - --service-node-port-range=1-65535? ? ? ?

? ? ? ? ?重啟 kubelet

          systemctl daemon-reload
          systemctl restart kubelet

?

? ? ? 12. 部署網(wǎng)絡(luò)插件 kube-flannel?

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml 

? 如果 wget 下載失敗,則新建 kube-flannel.yml, 并復(fù)制如下內(nèi)容。

服務(wù)器-Kubernetes (K8S)單機(jī)部署實(shí)戰(zhàn) -- 001服務(wù)器-Kubernetes (K8S)單機(jī)部署實(shí)戰(zhàn) -- 001
---
kind: Namespace
apiVersion: v1
metadata:
  name: kube-flannel
  labels:
    pod-security.kubernetes.io/enforce: privileged
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: flannel
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - get
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - nodes/status
  verbs:
  - patch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: flannel
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: flannel
subjects:
- kind: ServiceAccount
  name: flannel
  namespace: kube-flannel
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: flannel
  namespace: kube-flannel
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: kube-flannel-cfg
  namespace: kube-flannel
  labels:
    tier: node
    app: flannel
data:
  cni-conf.json: |
    {
      "name": "cbr0",
      "cniVersion": "0.3.1",
      "plugins": [
        {
          "type": "flannel",
          "delegate": {
            "hairpinMode": true,
            "isDefaultGateway": true
          }
        },
        {
          "type": "portmap",
          "capabilities": {
            "portMappings": true
          }
        }
      ]
    }
  net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan"
      }
    }
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: kube-flannel-ds
  namespace: kube-flannel
  labels:
    tier: node
    app: flannel
spec:
  selector:
    matchLabels:
      app: flannel
  template:
    metadata:
      labels:
        tier: node
        app: flannel
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/os
                operator: In
                values:
                - linux
      hostNetwork: true
      priorityClassName: system-node-critical
      tolerations:
      - operator: Exists
        effect: NoSchedule
      serviceAccountName: flannel
      initContainers:
      - name: install-cni-plugin
       #image: flannelcni/flannel-cni-plugin:v1.1.0 for ppc64le and mips64le (dockerhub limitations may apply)
        image: docker.io/rancher/mirrored-flannelcni-flannel-cni-plugin:v1.1.0
        command:
        - cp
        args:
        - -f
        - /flannel
        - /opt/cni/bin/flannel
        volumeMounts:
        - name: cni-plugin
          mountPath: /opt/cni/bin
      - name: install-cni
       #image: flannelcni/flannel:v0.20.0 for ppc64le and mips64le (dockerhub limitations may apply)
        image: docker.io/rancher/mirrored-flannelcni-flannel:v0.20.0
        command:
        - cp
        args:
        - -f
        - /etc/kube-flannel/cni-conf.json
        - /etc/cni/net.d/10-flannel.conflist
        volumeMounts:
        - name: cni
          mountPath: /etc/cni/net.d
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
      containers:
      - name: kube-flannel
       #image: flannelcni/flannel:v0.20.0 for ppc64le and mips64le (dockerhub limitations may apply)
        image: docker.io/rancher/mirrored-flannelcni-flannel:v0.20.0
        command:
        - /opt/bin/flanneld
        args:
        - --ip-masq
        - --kube-subnet-mgr
        resources:
          requests:
            cpu: "100m"
            memory: "50Mi"
          limits:
            cpu: "100m"
            memory: "50Mi"
        securityContext:
          privileged: false
          capabilities:
            add: ["NET_ADMIN", "NET_RAW"]
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: EVENT_QUEUE_DEPTH
          value: "5000"
        volumeMounts:
        - name: run
          mountPath: /run/flannel
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
        - name: xtables-lock
          mountPath: /run/xtables.lock
      volumes:
      - name: run
        hostPath:
          path: /run/flannel
      - name: cni-plugin
        hostPath:
          path: /opt/cni/bin
      - name: cni
        hostPath:
          path: /etc/cni/net.d
      - name: flannel-cfg
        configMap:
          name: kube-flannel-cfg
      - name: xtables-lock
        hostPath:
          path: /run/xtables.lock
          type: FileOrCreate
View Code

三:檢查 kubernetes 布署是否成功

kubectl cluster-info:查看 k8s 集群信息,包括 API Server 的地址和版本以及控制平面組件的狀態(tài)。

kubectl get nodes:查看集群中的節(jié)點(diǎn)信息,包括節(jié)點(diǎn)名稱、IP 地址、狀態(tài)和運(yùn)行時間等。

kubectl get pods:查看當(dāng)前命名空間下的 Pod 信息,包括 Pod 名稱、所屬節(jié)點(diǎn)、容器狀態(tài)、IP 地址等。

kubectl get pods,svc -o wide --all-namespaces :?查看 所有命名空間的 pods,svc 信息

kubectl get cs :? 查看集群健康狀態(tài)

kubectl describe service/kubernetes??

?四. kubernetes 常見問題

? 問題一:

-- The start-up result is done.
Feb 02 20:51:43 master kubelet[14025]: E0202 20:51:43.774113   14025 run.go:74] "command failed" err="failed to load kubelet config file, path: /var/lib/kubelet/config.yaml, error: failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file \"/var/lib/kubelet/config.yaml\", error: open /var/lib/kubelet/config.yaml: no such file or directory"
Feb 02 20:51:43 master systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
Feb 02 20:51:43 master systemd[1]: Unit kubelet.service entered failed state.
Feb 02 20:51:43 master systemd[1]: kubelet.service failed.

? ?containerd 配置沒修改。修改后,重啟服務(wù)即可。

sed -i -r '/cri/s/(.*)/#\1/' /etc/containerd/config.toml
systemctl restart containerd

?問題 二:

failed to pull and unpack image \\\"registry.k8s.io/pause:3.6\\\": failed to resolve reference

# 生成 containerd 的默認(rèn)配置文件
containerd config default > /etc/containerd/config.toml

# 查看 sandbox 的默認(rèn)鏡像倉庫在文件中的第幾行
cat /etc/containerd/config.toml | grep -n "sandbox_image"

# 使用 vim 編輯器 定位到 sandbox_image,將 倉庫地址修改成 阿里鏡像
vim /etc/containerd/config.toml

sandbox_image = " registry.aliyuncs.com/google_containers/pause:3.6"

# 重啟 containerd 服務(wù)
systemctl daemon-reload
systemctl restart containerd.service

?問題三:

E0202 22:18:22.949900    3017 memcache.go:265] couldn't get current server API group list: Get "https://10.0.0.206:6443/api?timeout=32s": tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

?當(dāng)重置集群后,需同步刪除 $HOME/.kube 目錄

rm -rf $HOME/.kube

?問題四:

Feb 11 12:53:30 master kubelet[24455]: E0211 12:53:30.929534 24455 pod_workers.go:1300] "Error syncing pod, skipping" err="network is not ready: container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized" pod="kube-system/coredns-66f779496c-q6gr4" podUID="98364c23-bc48-45ff-a6dd-60bafc36aa3a"

重啟 containerd 服務(wù):

systemctl restart containerd

?

五. 部署 nginx 服務(wù),檢查 kubenetes 服務(wù)運(yùn)行情況

? ?1. 創(chuàng)建 nginx 布署文件。

kind: Namespace
apiVersion: v1
metadata:
  name: myserver #創(chuàng)建namespace

---

kind: Deployment
apiVersion: apps/v1       #可查詢它的api版本 kubectl explain deployment.apiVersion
metadata:               #定義pod元數(shù)據(jù)信息,可查詢它的下級子字段kubectl explain deployment.metadata
  labels:               #定義deployment控制器標(biāo)簽
    app: nginx-deployment-label  #標(biāo)簽名稱以鍵值形式定義,可以定義多個,這里標(biāo)簽是app值為nginx-deployment-label
  name: nginx-deployment   #deployment資源的名字
  namespace: myserver          #deployment所屬的namespace,默認(rèn)是defaule
spec:                   #定義Deployment中容器的詳細(xì)信息,可通過kubectl explain deployment.spec查詢
  replicas: 1           #定義創(chuàng)建出pod的副本數(shù),默認(rèn)值是1個pod
  selector:             #定義標(biāo)簽選擇器,它跟上面的Deployment標(biāo)簽不是一回事,它是找下面template中定義的labels標(biāo)簽
    matchLabels:        #定義匹配的標(biāo)簽,必須要設(shè)置
      app: nginx-selector       #匹配的目標(biāo)標(biāo)簽,控制器會拿這個標(biāo)簽匹配下面的pod
  template:             #定義模板,用來描述需要創(chuàng)建的pod作用
    metadata:           #定義模板元數(shù)據(jù)
      labels:             #這個labels會繼承給這個yaml文件Deployment控制器創(chuàng)建的所有pod
        app: nginx-selector   #這個labels的key是app,值是nginx-selector,它會繼承給下面的pod,和上面matchLabels.app: nginx-selector一樣
    spec:                  #定義pod的詳細(xì)信息
      containers:          #定義pod中容器列表,可以定義多個pod
      - name: nginx-container     #容器名稱
        image: nginx:1.20       #容器鏡像
        imagePullPolicy: Always                       #鏡像拉取策略
        ports:                    #定義容器端口列表
        - containerPort: 80     #定義一個端口
          protocol: TCP           #定義協(xié)議
          name: http              #端口名稱
        - containerPort: 443
          protocol: TCP
          name: https
        env:                      #給容器傳遞環(huán)境變量
        - name: "password"        #變量名稱,必須引號引起來
          value: "123"            #上面變量的值
        - name: "age"
          value: "18"
---
 
kind: Service
apiVersion: v1
metadata:
  name: nginx-service
  labels:
    app: nginx-service-label   #service資源的標(biāo)簽
  namespace: myserver          #所在的命名空間,與上面控制器必須在同一個命名空間
spec:
  type: NodePort          #service類型是NodePort  
  ports:                  #定義訪問端口,一個service可以定義多個端口的映射關(guān)系
  - name: http            #定義協(xié)議名稱
    port: 80              #定義service端口,它可以和pod,node端口都不同,它是K8S中一個獨(dú)立子網(wǎng)
    protocol: TCP         #定義類型
    targetPort: 80        #目標(biāo)pod端口,當(dāng)訪問宿主機(jī)30003端口時就會轉(zhuǎn)達(dá)到pod的80端口
    nodePort: 30003       #手動指定node節(jié)點(diǎn)暴露的端口,如果沒有指定端口,那service會隨機(jī)分配一個端口
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
    nodePort: 30443
  selector:
    app: nginx-selector   #這個標(biāo)簽就是上面pod的標(biāo)簽,service通過這個標(biāo)簽來匹配對應(yīng)的pod

?

2. 布署 nginx 服務(wù)。

kubectl apply -f nginx.yaml

?

3. 驗證 nginx 服務(wù)啟動成功。

curl http://127.0.0.1:30003
curl http://10.0.0.206:30003

?

4. 驗證成功后,根據(jù)需要可以刪除 nginx 布署信息。

? 查看deployment信息
? ? ? ?kubectl get deployment -n <namespace>
? 刪除deployment配置
? ? ? kubectl delete deployment <deployment名> -n <namespace>

? 刪除 svc? 配置

? ? ? kubectl delete svc? svc名

kubectl delete deployment nginx-deployment  -n myserver

kubectl delete svc  nginx-service -n myserver

?

六. 布署?kubernetes-dashboard 服務(wù),進(jìn)行 kubernetes 集群管理

? ? ? 1. 下載 布署文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

?

? ? ? 2. 修改 布署文件,使本機(jī)可以訪問

? ? ? ? ?新增type: NodePort 和 nodePort:31443,以便能實(shí)現(xiàn)非本機(jī)訪問

   kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 31443
  selector:
    k8s-app: kubernetes-dashboard

? ? ? 3. 布署服務(wù)

kubectl apply -f  recommended.yaml

? ? ? ?4. 創(chuàng)建登錄用戶信息

? ? ? ? ? ? Dashboard 支持 Kubeconfig 和 Token 兩種認(rèn)證方式,暫時選擇Token認(rèn)證方式登錄。

? ? ? ? ? ? a. 創(chuàng)建dashboard-adminuser.yaml 文件

cat > dashboard-adminuser.yaml << EOF
 apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: admin-user
   namespace: kubernetes-dashboard
 
 ---
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
 metadata:
   name: admin-user
 roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole
   name: cluster-admin
 subjects:
 - kind: ServiceAccount
   name: admin-user
   namespace: kubernetes-dashboard
> EOF

? ? ? ? ?b. 執(zhí)行命令創(chuàng)建用戶

kubectl apply -f dashboard-adminuser.yaml

? ? ? ?5. 獲取 token,進(jìn)行 服務(wù)登錄。

kubectl -n kubernetes-dashboard create token admin-user

#生成過期時間為24小時的token
kubectl -n kubernetes-dashboard create token admin-user --duration=86400s

? ? ? 待定...

?

到了這里,關(guān)于服務(wù)器-Kubernetes (K8S)單機(jī)部署實(shí)戰(zhàn) -- 001的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Kubernetes(K8s)從入門到精通系列之十六:linux服務(wù)器安裝minikube的詳細(xì)步驟

    安裝Docker的詳細(xì)步驟,可以閱讀博主下面這篇技術(shù)博客文章:

    2024年02月12日
    瀏覽(54)
  • 搭建NFS服務(wù)器,部署k8s集群,并在k8s中使用NFS作為持久化儲存

    搭建NFS服務(wù)器,部署k8s集群,并在k8s中使用NFS作為持久化儲存

    ??明明跟你說過:個人主頁 ??個人專欄:《Kubernetes航線圖:從船長到K8s掌舵者》??? ??行路有良友,便是天堂?? 目錄 一、前言 1、k8s概述 2、NFS簡介 二、NFS服務(wù)器搭建 1、準(zhǔn)備NFS 服務(wù)器 2、搭建NFS服務(wù) 三、安裝k8s集群 1、環(huán)境準(zhǔn)備 2、禁用防火墻和SELinux 3、設(shè)置時間同步

    2024年04月13日
    瀏覽(21)
  • 使用k8s部署Mysql實(shí)例~hostpath,nfs服務(wù)器,PV和PVC持久化

    1.基礎(chǔ)存儲的分類: 分類 說明 EmptyDir EmptyDir是在Pod 被分配到Node時 創(chuàng)建的, 無須手動指定 ,當(dāng) Pod銷毀時 , EmptyDir中的數(shù)據(jù)也會被 永久刪除 HostPath HostPath就是將Node主機(jī)中一個實(shí)際目錄掛載到Pod中,保證 Pod銷毀 了,但是 數(shù)據(jù)依舊可以存在 于Node主機(jī)上 NFS NFS是一個網(wǎng)絡(luò)文件

    2024年02月20日
    瀏覽(28)
  • K8S單機(jī)部署-01.單機(jī)部署K8S

    轉(zhuǎn)載請注明出處 K8S單機(jī)部署-00.舊版本卸載 K8S單機(jī)部署-01.單機(jī)部署K8S K8S單機(jī)部署-02.Kuboard面板部署 K8S單機(jī)部署-03.驗證K8S的第一個Deployment K8S單機(jī)部署-04.NFS服務(wù)器搭建 K8S單機(jī)部署-05.靜態(tài)持久化之PV、PVC(基于NFS) K8S單機(jī)部署-06.動態(tài)持久化StorageClass(基于NFS) K8S單機(jī)部署-07.調(diào)整

    2024年04月24日
    瀏覽(49)
  • 基于Kubernetes(k8s)部署Dubbo+Nacos服務(wù)

    基于Kubernetes(k8s)部署Dubbo+Nacos服務(wù)

    本文介紹基于 Kubernetes(k8s) 環(huán)境集成阿里云 私有鏡像倉庫 來部署一套 Dubbo + Nacos 的微服務(wù)系統(tǒng),并使用 Kubernetes DNS 以及 port-forward 的方式來打通網(wǎng)絡(luò)訪問。 k8s環(huán)境搭建參考文章《基于minikube快速搭建kubernetes單節(jié)點(diǎn)環(huán)境》 中在阿里云鏡像倉庫構(gòu)建的鏡像來進(jìn)行部署。 基于《基

    2024年02月02日
    瀏覽(31)
  • 在Kubernetes(k8s)上部署整個SpringCloud微服務(wù)應(yīng)用

    在Kubernetes(k8s)上部署整個SpringCloud微服務(wù)應(yīng)用

    視頻教程地址:https://www.bilibili.com/video/BV1Xh4y1q7aW/ 這次我準(zhǔn)備了一個微服務(wù)項目,是依照RuoYi-Cloud(http://doc.ruoyi.vip/ruoyi-cloud/)進(jìn)行了一些修改所得到的微服務(wù)項目。重點(diǎn)是修改了如圖根據(jù)不同環(huán)境添加了不同的配置文件: 項目代碼地址為:https://gitcode.net/m0_51510236/yueyang-cloud 我

    2024年02月05日
    瀏覽(16)
  • K8S查看服務(wù)器日志

    K8S查看服務(wù)器日志

    現(xiàn)在越來越多的服務(wù)通過K8S進(jìn)行部署,所以這里簡單記錄下在我們?nèi)粘9ぷ髦?,使用k8s進(jìn)行查看服務(wù)器的相關(guān)日志命令。 首先需要使用賬號密碼進(jìn)入到服務(wù)器中 第一個命令 kubetctl get pod -A 這個是查看所有的服務(wù)信息 其中NAMESPACE是命名空間,name則是你服務(wù)節(jié)點(diǎn)的名稱,注意,

    2024年02月12日
    瀏覽(22)
  • 單機(jī)部署K8S集群

    單機(jī)部署K8S集群

    1 系統(tǒng)準(zhǔn)備 操作系統(tǒng): Kubernetes 支持多種Linux發(fā)行版,包括但不限于 CentOS、Ubuntu、RHEL等。通常建議使用穩(wěn)定版本,并且是 64位系統(tǒng) 。我這里使用的是CentOS 8.1版本 ?硬件配置: 內(nèi)存(RAM): 每臺機(jī)器至少需要2GB或更多 ,具體需求根據(jù)集群規(guī)模和應(yīng)用程序負(fù)載來定。 CPU核心數(shù)

    2024年02月20日
    瀏覽(20)
  • 基于k8s的web服務(wù)器構(gòu)建

    基于k8s的web服務(wù)器構(gòu)建

    項目描述/項目功能: 模擬企業(yè)里的k8s生產(chǎn)環(huán)境,部署web,nfs,harbor,Prometheus,granfa等應(yīng)用,構(gòu)建一個高可用高性能的web系統(tǒng),同時能監(jiān)控整個k8s集群的使用。 CentOS 7.9,ansible 2.9.27,Docker 2.6.0.0,Docker Compose 2.18.1,Kubernetes 1.20.6,Harbor 2.1.0,nfs v4,metrics-server 0.6.0,ingress-ngi

    2024年04月11日
    瀏覽(46)
  • K8s部署單機(jī)mysql

    定制配置數(shù)據(jù)存放在configMap mysql數(shù)據(jù)放在/opt/mysql目錄下(/opt/mysql目錄需要事先創(chuàng)建) root賬號密碼使用環(huán)境變量env 服務(wù)暴露方式為nodePort,端口30336 這里為了簡單,PV使用了hostPath,所以需要將pod固定在一個node上??煽紤]使用nfs。 mysql57_deploy.yml

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包