{"id":520,"date":"2022-12-30T09:19:55","date_gmt":"2022-12-30T01:19:55","guid":{"rendered":"https:\/\/www.db2go.net\/?p=520"},"modified":"2022-12-30T09:38:33","modified_gmt":"2022-12-30T01:38:33","slug":"%e5%9c%a8k8s%e4%b8%8a%e9%83%a8%e7%bd%b2es","status":"publish","type":"post","link":"https:\/\/www.db2go.net\/?p=520","title":{"rendered":"\u5728k8s\u4e0a\u90e8\u7f72es"},"content":{"rendered":"<p>sts<\/p>\n<pre><code class=\"language-yaml line-numbers\">apiVersion: apps\/v1\nkind: StatefulSet\nmetadata:\n  name: es-cluster\n  namespace: es-ns\nspec:\n  serviceName: elasticsearch\n  replicas: 3\n  selector:\n    matchLabels:\n      app: elasticsearch\n  template:\n    metadata:\n      labels:\n        app: elasticsearch\n    spec:\n      containers:\n      - name: elasticsearch\n        image: suredandan\/elasticsearch:7.16.1\n        imagePullPolicy: IfNotPresent\n        resources:\n            limits:\n              cpu: 1000m\n            requests:\n              cpu: 100m\n        ports:\n        - containerPort: 9200\n          name: rest\n          protocol: TCP\n        - containerPort: 9300\n          name: inter-node\n          protocol: TCP\n        volumeMounts:\n        - name: data\n          mountPath: \/usr\/share\/elasticsearch\/data\n        env:\n          - name: cluster.name\n            value: k8s-logs\n          - name: node.name\n            valueFrom:\n              fieldRef:\n                fieldPath: metadata.name\n          - name: discovery.seed_hosts\n            value: \"es-cluster-0.elasticsearch,es-cluster-1.elasticsearch,es-cluster-2.elasticsearch\"\n          - name: cluster.initial_master_nodes\n            value: \"es-cluster-0,es-cluster-1,es-cluster-2\"\n          - name: ES_JAVA_OPTS\n            value: \"-Xms512m -Xmx512m\"\n      initContainers:\n      - name: fix-permissions\n        image: suredandan\/busybox:1.32\n        imagePullPolicy: IfNotPresent\n        command: [\"sh\", \"-c\", \"chown -R 1000:1000 \/usr\/share\/elasticsearch\/data\"]\n        securityContext:\n          privileged: true\n        volumeMounts:\n        - name: data\n          mountPath: \/usr\/share\/elasticsearch\/data\n      - name: increase-vm-max-map\n        image: suredandan\/busybox:1.32\n        imagePullPolicy: IfNotPresent\n        command: [\"sysctl\", \"-w\", \"vm.max_map_count=262144\"]\n        securityContext:\n          privileged: true\n      - name: increase-fd-ulimit\n        image: suredandan\/busybox:1.32\n        imagePullPolicy: IfNotPresent\n        command: [\"sh\", \"-c\", \"ulimit -n 65536\"]\n        securityContext:\n          privileged: true\n  volumeClaimTemplates:\n  - metadata:\n      name: data\n      labels:\n        app: elasticsearch\n    spec:\n      accessModes: [ \"ReadWriteOnce\" ]\n      storageClassName: standard\n      resources:\n        requests:\n          storage: 10Gi\n<\/code><\/pre>\n<p>svc:<\/p>\n<pre><code class=\"language-yaml line-numbers\">apiVersion: v1\nkind: Service\nmetadata:\n  name: elasticsearch\n  namespace: es-ns\n  labels:\n    app: elasticsearch\nspec:\n  type: NodePort\n  selector:\n    app: elasticsearch\n  clusterIP: None\n  ports:\n    - port: 9200\n      name: rest\n    - port: 9300\n      name: inter-node\n<\/code><\/pre>\n<blockquote><p>\n  \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4ee5nodeport\u7684\u65b9\u5f0f\u66b4\u9732\n<\/p><\/blockquote>\n<p>\u90e8\u7f72\u540e\u7684\u7ed3\u679c\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"line-numbers\">root@DESKTOP-GCPD6RU:~# kubectl get sts\nNAME         READY   AGE\nes-cluster   1\/1     17h\nroot@DESKTOP-GCPD6RU:~#\nroot@DESKTOP-GCPD6RU:~# kubectl get pod\nNAME           READY   STATUS    RESTARTS   AGE\nes-cluster-0   1\/1     Running   0          17h\nroot@DESKTOP-GCPD6RU:~#\nroot@DESKTOP-GCPD6RU:~# kubectl get svc\nNAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)             AGE\nelasticsearch   ClusterIP   None         &lt;none&gt;        9200\/TCP,9300\/TCP   17h\nroot@DESKTOP-GCPD6RU:~#\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>sts apiVersion: apps\/v1 kind: StatefulSet metadata: nam&hellip;<\/p>\n <a href=\"https:\/\/www.db2go.net\/?p=520\" title=\"\u5728k8s\u4e0a\u90e8\u7f72es\" class=\"entry-more-link\"><span>Read More<\/span> <span class=\"screen-reader-text\">\u5728k8s\u4e0a\u90e8\u7f72es<\/span><\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[3],"tags":[],"class_list":["entry","author-suredandan","post-520","post","type-post","status-publish","format-standard","category-k8s"],"views":1758,"_links":{"self":[{"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/posts\/520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.db2go.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=520"}],"version-history":[{"count":3,"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/posts\/520\/revisions"}],"predecessor-version":[{"id":523,"href":"https:\/\/www.db2go.net\/index.php?rest_route=\/wp\/v2\/posts\/520\/revisions\/523"}],"wp:attachment":[{"href":"https:\/\/www.db2go.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.db2go.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.db2go.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}